@cratis/components 4.19.0 → 4.19.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (723) hide show
  1. package/compat-manifest.json +11 -11
  2. package/dist/esm/Canvas/Canvas.d.ts +1 -0
  3. package/dist/esm/Canvas/Canvas.d.ts.map +1 -0
  4. package/dist/esm/Canvas/Canvas.js.map +1 -1
  5. package/dist/esm/Canvas/CanvasControls.d.ts +1 -0
  6. package/dist/esm/Canvas/CanvasControls.d.ts.map +1 -0
  7. package/dist/esm/Canvas/CanvasControls.js.map +1 -1
  8. package/dist/esm/Canvas/CanvasItem.js.map +1 -1
  9. package/dist/esm/Canvas/CanvasMinimap.js.map +1 -1
  10. package/dist/esm/Canvas/CanvasOverlay.js.map +1 -1
  11. package/dist/esm/Canvas/canvasGesture.js.map +1 -1
  12. package/dist/esm/Canvas/canvasTransformActivity.js.map +1 -1
  13. package/dist/esm/Canvas/index.d.ts +1 -0
  14. package/dist/esm/Canvas/index.d.ts.map +1 -0
  15. package/dist/esm/Canvas/isBackgroundPointerTarget.js.map +1 -1
  16. package/dist/esm/Canvas/isWithinScrollableContent.js.map +1 -1
  17. package/dist/esm/Canvas/panMomentum.js.map +1 -1
  18. package/dist/esm/Canvas/pinchGesture.js.map +1 -1
  19. package/dist/esm/Canvas/selfSuspendingFrameLoop.js.map +1 -1
  20. package/dist/esm/Canvas/shapes/ChatBubble/index.d.ts +1 -0
  21. package/dist/esm/Canvas/shapes/ChatBubble/index.d.ts.map +1 -0
  22. package/dist/esm/Canvas/shapes/ChatBubble/index.js +1 -0
  23. package/dist/esm/Canvas/shapes/ChatBubble/index.js.map +1 -0
  24. package/dist/esm/Canvas/shapes/Note/Note.js.map +1 -1
  25. package/dist/esm/Canvas/shapes/Note/NoteTextChanged.js.map +1 -1
  26. package/dist/esm/Canvas/shapes/Note/index.d.ts +1 -0
  27. package/dist/esm/Canvas/shapes/Note/index.d.ts.map +1 -0
  28. package/dist/esm/Canvas/shapes/Note/index.js +1 -0
  29. package/dist/esm/Canvas/shapes/Note/index.js.map +1 -0
  30. package/dist/esm/Canvas/shapes/Note/noteFont.js.map +1 -1
  31. package/dist/esm/Canvas/shapes/Region/ItemAddedToRegion.js.map +1 -1
  32. package/dist/esm/Canvas/shapes/Region/ItemRemovedFromRegion.js.map +1 -1
  33. package/dist/esm/Canvas/shapes/Region/Region.js.map +1 -1
  34. package/dist/esm/Canvas/shapes/Region/index.d.ts +1 -0
  35. package/dist/esm/Canvas/shapes/Region/index.d.ts.map +1 -0
  36. package/dist/esm/Canvas/shapes/Region/index.js +1 -0
  37. package/dist/esm/Canvas/shapes/Region/index.js.map +1 -0
  38. package/dist/esm/Canvas/shapes/Region/regionContainment.js.map +1 -1
  39. package/dist/esm/Canvas/useDragSelectionGuard.js.map +1 -1
  40. package/dist/esm/Canvas/zoomMechanism.js.map +1 -1
  41. package/dist/esm/Chat/ChatAuthor.d.ts +1 -0
  42. package/dist/esm/Chat/ChatAuthor.d.ts.map +1 -0
  43. package/dist/esm/Chat/ChatAuthor.js.map +1 -1
  44. package/dist/esm/Chat/ChatConversation.d.ts +1 -0
  45. package/dist/esm/Chat/ChatConversation.d.ts.map +1 -0
  46. package/dist/esm/Chat/ChatConversation.js.map +1 -1
  47. package/dist/esm/Chat/ChatIdentifier.js.map +1 -1
  48. package/dist/esm/Chat/ChatMention.d.ts +1 -0
  49. package/dist/esm/Chat/ChatMention.d.ts.map +1 -0
  50. package/dist/esm/Chat/ChatMention.js.map +1 -1
  51. package/dist/esm/Chat/ChatMessage.d.ts +1 -0
  52. package/dist/esm/Chat/ChatMessage.d.ts.map +1 -0
  53. package/dist/esm/Chat/ChatMessage.js.map +1 -1
  54. package/dist/esm/Chat/ChatMessageAction.d.ts +1 -0
  55. package/dist/esm/Chat/ChatMessageAction.d.ts.map +1 -0
  56. package/dist/esm/Chat/ChatMessageAction.js.map +1 -1
  57. package/dist/esm/Chat/ChatMessageBody.d.ts +1 -0
  58. package/dist/esm/Chat/ChatMessageBody.d.ts.map +1 -0
  59. package/dist/esm/Chat/ChatMessageBody.js.map +1 -1
  60. package/dist/esm/Chat/ChatSidebar.d.ts +1 -0
  61. package/dist/esm/Chat/ChatSidebar.d.ts.map +1 -0
  62. package/dist/esm/Chat/ChatSidebar.js.map +1 -1
  63. package/dist/esm/Chat/ChatSidebarForObservableQueries.d.ts +1 -0
  64. package/dist/esm/Chat/ChatSidebarForObservableQueries.d.ts.map +1 -0
  65. package/dist/esm/Chat/ChatSidebarForObservableQueries.js.map +1 -1
  66. package/dist/esm/Chat/ChatStatus.js.map +1 -1
  67. package/dist/esm/Chat/ChatTopic.d.ts +1 -0
  68. package/dist/esm/Chat/ChatTopic.d.ts.map +1 -0
  69. package/dist/esm/Chat/ChatTopic.js.map +1 -1
  70. package/dist/esm/Chat/ChatTopicList.d.ts +1 -0
  71. package/dist/esm/Chat/ChatTopicList.d.ts.map +1 -0
  72. package/dist/esm/Chat/ChatTopicList.js.map +1 -1
  73. package/dist/esm/Chat/Kit/AnchoredOverlay.js.map +1 -1
  74. package/dist/esm/Chat/Kit/Avatar/PersonAvatarCircle.js.map +1 -1
  75. package/dist/esm/Chat/Kit/Avatar/getAvatarColor.js.map +1 -1
  76. package/dist/esm/Chat/Kit/Avatar/getInitials.js.map +1 -1
  77. package/dist/esm/Chat/Kit/Avatar/index.d.ts +1 -0
  78. package/dist/esm/Chat/Kit/Avatar/index.d.ts.map +1 -0
  79. package/dist/esm/Chat/Kit/Avatar/index.js +1 -0
  80. package/dist/esm/Chat/Kit/Avatar/index.js.map +1 -0
  81. package/dist/esm/Chat/Kit/Chat.d.ts +1 -0
  82. package/dist/esm/Chat/Kit/Chat.d.ts.map +1 -0
  83. package/dist/esm/Chat/Kit/Chat.js.map +1 -1
  84. package/dist/esm/Chat/Kit/ChatAuthorKind.js.map +1 -1
  85. package/dist/esm/Chat/Kit/ChatBubble.d.ts +1 -0
  86. package/dist/esm/Chat/Kit/ChatBubble.d.ts.map +1 -0
  87. package/dist/esm/Chat/Kit/ChatBubble.js.map +1 -1
  88. package/dist/esm/Chat/Kit/ChatComposer.d.ts +1 -0
  89. package/dist/esm/Chat/Kit/ChatComposer.d.ts.map +1 -0
  90. package/dist/esm/Chat/Kit/ChatComposer.js.map +1 -1
  91. package/dist/esm/Chat/Kit/ChatMessage.d.ts +1 -0
  92. package/dist/esm/Chat/Kit/ChatMessage.d.ts.map +1 -0
  93. package/dist/esm/Chat/Kit/ChatMessage.js.map +1 -1
  94. package/dist/esm/Chat/Kit/ChatMessageAdded.js.map +1 -1
  95. package/dist/esm/Chat/Kit/ChatMessageBubble.d.ts +1 -0
  96. package/dist/esm/Chat/Kit/ChatMessageBubble.d.ts.map +1 -0
  97. package/dist/esm/Chat/Kit/ChatMessageBubble.js.map +1 -1
  98. package/dist/esm/Chat/Kit/ChatMessageReaction.d.ts +1 -0
  99. package/dist/esm/Chat/Kit/ChatMessageReaction.d.ts.map +1 -0
  100. package/dist/esm/Chat/Kit/ChatMessageReaction.js.map +1 -1
  101. package/dist/esm/Chat/Kit/ChatMessageReactionUser.js.map +1 -1
  102. package/dist/esm/Chat/Kit/ChatOwnReaction.js.map +1 -1
  103. package/dist/esm/Chat/Kit/ChatTypingAuthor.d.ts +1 -0
  104. package/dist/esm/Chat/Kit/ChatTypingAuthor.d.ts.map +1 -0
  105. package/dist/esm/Chat/Kit/ChatTypingAuthor.js.map +1 -1
  106. package/dist/esm/Chat/Kit/ChatVariant.js.map +1 -1
  107. package/dist/esm/Chat/Kit/Emoji/EmojiCategory.d.ts +1 -0
  108. package/dist/esm/Chat/Kit/Emoji/EmojiCategory.d.ts.map +1 -0
  109. package/dist/esm/Chat/Kit/Emoji/EmojiCategory.js.map +1 -1
  110. package/dist/esm/Chat/Kit/Emoji/EmojiCategoryKey.js.map +1 -1
  111. package/dist/esm/Chat/Kit/Emoji/EmojiMemory.js.map +1 -1
  112. package/dist/esm/Chat/Kit/Emoji/EmojiPicker.d.ts +1 -0
  113. package/dist/esm/Chat/Kit/Emoji/EmojiPicker.d.ts.map +1 -0
  114. package/dist/esm/Chat/Kit/Emoji/EmojiPicker.js.map +1 -1
  115. package/dist/esm/Chat/Kit/Emoji/emojiCatalog.d.ts +1 -0
  116. package/dist/esm/Chat/Kit/Emoji/emojiCatalog.d.ts.map +1 -0
  117. package/dist/esm/Chat/Kit/Emoji/emojiCatalog.js.map +1 -1
  118. package/dist/esm/Chat/Kit/Emoji/index.d.ts +1 -0
  119. package/dist/esm/Chat/Kit/Emoji/index.d.ts.map +1 -0
  120. package/dist/esm/Chat/Kit/Emoji/index.js +1 -0
  121. package/dist/esm/Chat/Kit/Emoji/index.js.map +1 -0
  122. package/dist/esm/Chat/Kit/Emoji/recentEmojis.d.ts +1 -0
  123. package/dist/esm/Chat/Kit/Emoji/recentEmojis.d.ts.map +1 -0
  124. package/dist/esm/Chat/Kit/Emoji/recentEmojis.js.map +1 -1
  125. package/dist/esm/Chat/Kit/FailedReply.d.ts +1 -0
  126. package/dist/esm/Chat/Kit/FailedReply.d.ts.map +1 -0
  127. package/dist/esm/Chat/Kit/FailedReply.js.map +1 -1
  128. package/dist/esm/Chat/Kit/Mentions/MentionCandidate.d.ts +1 -0
  129. package/dist/esm/Chat/Kit/Mentions/MentionCandidate.d.ts.map +1 -0
  130. package/dist/esm/Chat/Kit/Mentions/MentionCandidate.js.map +1 -1
  131. package/dist/esm/Chat/Kit/Mentions/MentionQuery.js.map +1 -1
  132. package/dist/esm/Chat/Kit/Mentions/MentionSuggestions.d.ts +1 -0
  133. package/dist/esm/Chat/Kit/Mentions/MentionSuggestions.d.ts.map +1 -0
  134. package/dist/esm/Chat/Kit/Mentions/MentionSuggestions.js.map +1 -1
  135. package/dist/esm/Chat/Kit/Mentions/activeMentionQuery.d.ts +1 -0
  136. package/dist/esm/Chat/Kit/Mentions/activeMentionQuery.d.ts.map +1 -0
  137. package/dist/esm/Chat/Kit/Mentions/activeMentionQuery.js.map +1 -1
  138. package/dist/esm/Chat/Kit/Mentions/applyMention.d.ts +1 -0
  139. package/dist/esm/Chat/Kit/Mentions/applyMention.d.ts.map +1 -0
  140. package/dist/esm/Chat/Kit/Mentions/applyMention.js.map +1 -1
  141. package/dist/esm/Chat/Kit/Mentions/extractMentions.js.map +1 -1
  142. package/dist/esm/Chat/Kit/Mentions/findMentionRanges.js.map +1 -1
  143. package/dist/esm/Chat/Kit/Mentions/index.d.ts +1 -0
  144. package/dist/esm/Chat/Kit/Mentions/index.d.ts.map +1 -0
  145. package/dist/esm/Chat/Kit/Mentions/index.js +1 -0
  146. package/dist/esm/Chat/Kit/Mentions/index.js.map +1 -0
  147. package/dist/esm/Chat/Kit/Mentions/matchCandidates.d.ts +1 -0
  148. package/dist/esm/Chat/Kit/Mentions/matchCandidates.d.ts.map +1 -0
  149. package/dist/esm/Chat/Kit/Mentions/matchCandidates.js.map +1 -1
  150. package/dist/esm/Chat/Kit/Mentions/mentionSegments.js.map +1 -1
  151. package/dist/esm/Chat/Kit/MessageReactions.d.ts +1 -0
  152. package/dist/esm/Chat/Kit/MessageReactions.d.ts.map +1 -0
  153. package/dist/esm/Chat/Kit/MessageReactions.js.map +1 -1
  154. package/dist/esm/Chat/Kit/ReactionPicker.d.ts +1 -0
  155. package/dist/esm/Chat/Kit/ReactionPicker.d.ts.map +1 -0
  156. package/dist/esm/Chat/Kit/ReactionPicker.js.map +1 -1
  157. package/dist/esm/Chat/Kit/TypingIndicator.d.ts +1 -0
  158. package/dist/esm/Chat/Kit/TypingIndicator.d.ts.map +1 -0
  159. package/dist/esm/Chat/Kit/TypingIndicator.js.map +1 -1
  160. package/dist/esm/Chat/Kit/findOwnReaction.d.ts +1 -0
  161. package/dist/esm/Chat/Kit/findOwnReaction.d.ts.map +1 -0
  162. package/dist/esm/Chat/Kit/findOwnReaction.js.map +1 -1
  163. package/dist/esm/Chat/Kit/index.d.ts +1 -0
  164. package/dist/esm/Chat/Kit/index.d.ts.map +1 -0
  165. package/dist/esm/Chat/Kit/index.js +1 -0
  166. package/dist/esm/Chat/Kit/index.js.map +1 -0
  167. package/dist/esm/Chat/Kit/reactionsExcludingUser.d.ts +1 -0
  168. package/dist/esm/Chat/Kit/reactionsExcludingUser.d.ts.map +1 -0
  169. package/dist/esm/Chat/Kit/reactionsExcludingUser.js.map +1 -1
  170. package/dist/esm/Chat/index.d.ts +1 -0
  171. package/dist/esm/Chat/index.d.ts.map +1 -0
  172. package/dist/esm/Chat/isTopicUnnamed.d.ts +1 -0
  173. package/dist/esm/Chat/isTopicUnnamed.d.ts.map +1 -0
  174. package/dist/esm/Chat/isTopicUnnamed.js.map +1 -1
  175. package/dist/esm/Chat/relativeTimestamp.js.map +1 -1
  176. package/dist/esm/Chat/shouldRequestTopicName.js.map +1 -1
  177. package/dist/esm/Chat/topicsByActivity.d.ts +1 -0
  178. package/dist/esm/Chat/topicsByActivity.d.ts.map +1 -0
  179. package/dist/esm/Chat/topicsByActivity.js.map +1 -1
  180. package/dist/esm/CommandDialog/CommandDialog.d.ts +1 -0
  181. package/dist/esm/CommandDialog/CommandDialog.d.ts.map +1 -0
  182. package/dist/esm/CommandDialog/CommandDialog.js.map +1 -1
  183. package/dist/esm/CommandDialog/CommandStepper.d.ts +1 -0
  184. package/dist/esm/CommandDialog/CommandStepper.d.ts.map +1 -0
  185. package/dist/esm/CommandDialog/CommandStepper.js.map +1 -1
  186. package/dist/esm/CommandDialog/CommandStepperContent.d.ts +1 -0
  187. package/dist/esm/CommandDialog/CommandStepperContent.d.ts.map +1 -0
  188. package/dist/esm/CommandDialog/CommandStepperContent.js.map +1 -1
  189. package/dist/esm/CommandDialog/StepperCommandDialog.d.ts +1 -0
  190. package/dist/esm/CommandDialog/StepperCommandDialog.d.ts.map +1 -0
  191. package/dist/esm/CommandDialog/StepperCommandDialog.js.map +1 -1
  192. package/dist/esm/CommandDialog/StepperPanel.js.map +1 -1
  193. package/dist/esm/CommandDialog/applyBeforeExecute.js.map +1 -1
  194. package/dist/esm/CommandDialog/commandValuesUnchanged.js.map +1 -1
  195. package/dist/esm/CommandDialog/confirmBeforeExecute.js.map +1 -1
  196. package/dist/esm/CommandDialog/index.d.ts +1 -0
  197. package/dist/esm/CommandDialog/index.d.ts.map +1 -0
  198. package/dist/esm/CommandDialog/stepChildren.js.map +1 -1
  199. package/dist/esm/CommandDialog/transitionStep.d.ts +1 -0
  200. package/dist/esm/CommandDialog/transitionStep.d.ts.map +1 -0
  201. package/dist/esm/CommandDialog/transitionStep.js.map +1 -1
  202. package/dist/esm/CommandDialog/useCommandExecution.d.ts +1 -0
  203. package/dist/esm/CommandDialog/useCommandExecution.d.ts.map +1 -0
  204. package/dist/esm/CommandDialog/useCommandExecution.js.map +1 -1
  205. package/dist/esm/CommandDialog/useSubmissionFlight.js.map +1 -1
  206. package/dist/esm/CommandForm/AutoCommandForm.js.map +1 -1
  207. package/dist/esm/CommandForm/FieldTypeProvider.js.map +1 -1
  208. package/dist/esm/CommandForm/commandFormMarkers.js.map +1 -1
  209. package/dist/esm/CommandForm/defaultFieldTypeProviders.js.map +1 -1
  210. package/dist/esm/CommandForm/fieldTypeProviderRegistry.d.ts +1 -0
  211. package/dist/esm/CommandForm/fieldTypeProviderRegistry.d.ts.map +1 -0
  212. package/dist/esm/CommandForm/fieldTypeProviderRegistry.js.map +1 -1
  213. package/dist/esm/CommandForm/fields/CalendarField.d.ts +1 -0
  214. package/dist/esm/CommandForm/fields/CalendarField.d.ts.map +1 -0
  215. package/dist/esm/CommandForm/fields/CalendarField.js.map +1 -1
  216. package/dist/esm/CommandForm/fields/CheckboxField.d.ts +1 -0
  217. package/dist/esm/CommandForm/fields/CheckboxField.d.ts.map +1 -0
  218. package/dist/esm/CommandForm/fields/CheckboxField.js.map +1 -1
  219. package/dist/esm/CommandForm/fields/ChipsField.d.ts +1 -0
  220. package/dist/esm/CommandForm/fields/ChipsField.d.ts.map +1 -0
  221. package/dist/esm/CommandForm/fields/ChipsField.js.map +1 -1
  222. package/dist/esm/CommandForm/fields/ColorPickerField.d.ts +1 -0
  223. package/dist/esm/CommandForm/fields/ColorPickerField.d.ts.map +1 -0
  224. package/dist/esm/CommandForm/fields/ColorPickerField.js.map +1 -1
  225. package/dist/esm/CommandForm/fields/DropdownField.d.ts +1 -0
  226. package/dist/esm/CommandForm/fields/DropdownField.d.ts.map +1 -0
  227. package/dist/esm/CommandForm/fields/DropdownField.js.map +1 -1
  228. package/dist/esm/CommandForm/fields/InputTextField.d.ts +1 -0
  229. package/dist/esm/CommandForm/fields/InputTextField.d.ts.map +1 -0
  230. package/dist/esm/CommandForm/fields/InputTextField.js.map +1 -1
  231. package/dist/esm/CommandForm/fields/MultiSelectField.d.ts +1 -0
  232. package/dist/esm/CommandForm/fields/MultiSelectField.d.ts.map +1 -0
  233. package/dist/esm/CommandForm/fields/MultiSelectField.js.map +1 -1
  234. package/dist/esm/CommandForm/fields/NumberField.d.ts +1 -0
  235. package/dist/esm/CommandForm/fields/NumberField.d.ts.map +1 -0
  236. package/dist/esm/CommandForm/fields/NumberField.js.map +1 -1
  237. package/dist/esm/CommandForm/fields/NumberInputField.d.ts +1 -0
  238. package/dist/esm/CommandForm/fields/NumberInputField.d.ts.map +1 -0
  239. package/dist/esm/CommandForm/fields/NumberInputField.js.map +1 -1
  240. package/dist/esm/CommandForm/fields/PasswordField.d.ts +1 -0
  241. package/dist/esm/CommandForm/fields/PasswordField.d.ts.map +1 -0
  242. package/dist/esm/CommandForm/fields/PasswordField.js.map +1 -1
  243. package/dist/esm/CommandForm/fields/RadioButtonField.d.ts +1 -0
  244. package/dist/esm/CommandForm/fields/RadioButtonField.d.ts.map +1 -0
  245. package/dist/esm/CommandForm/fields/RadioButtonField.js.map +1 -1
  246. package/dist/esm/CommandForm/fields/RadioGroupField.d.ts +1 -0
  247. package/dist/esm/CommandForm/fields/RadioGroupField.d.ts.map +1 -0
  248. package/dist/esm/CommandForm/fields/RadioGroupField.js.map +1 -1
  249. package/dist/esm/CommandForm/fields/RatingField.d.ts +1 -0
  250. package/dist/esm/CommandForm/fields/RatingField.d.ts.map +1 -0
  251. package/dist/esm/CommandForm/fields/RatingField.js.map +1 -1
  252. package/dist/esm/CommandForm/fields/SliderField.d.ts +1 -0
  253. package/dist/esm/CommandForm/fields/SliderField.d.ts.map +1 -0
  254. package/dist/esm/CommandForm/fields/SliderField.js.map +1 -1
  255. package/dist/esm/CommandForm/fields/TextAreaField.d.ts +1 -0
  256. package/dist/esm/CommandForm/fields/TextAreaField.d.ts.map +1 -0
  257. package/dist/esm/CommandForm/fields/TextAreaField.js.map +1 -1
  258. package/dist/esm/CommandForm/fields/ToggleSwitchField.d.ts +1 -0
  259. package/dist/esm/CommandForm/fields/ToggleSwitchField.d.ts.map +1 -0
  260. package/dist/esm/CommandForm/fields/ToggleSwitchField.js.map +1 -1
  261. package/dist/esm/CommandForm/fields/chipValues.js.map +1 -1
  262. package/dist/esm/CommandForm/fields/fieldAccessibility.js.map +1 -1
  263. package/dist/esm/CommandForm/fields/fieldValueFromEvent.js.map +1 -1
  264. package/dist/esm/CommandForm/fields/index.d.ts +1 -0
  265. package/dist/esm/CommandForm/fields/index.d.ts.map +1 -0
  266. package/dist/esm/CommandForm/fields/index.js +1 -0
  267. package/dist/esm/CommandForm/fields/index.js.map +1 -0
  268. package/dist/esm/CommandForm/index.d.ts +1 -0
  269. package/dist/esm/CommandForm/index.d.ts.map +1 -0
  270. package/dist/esm/Common/ActionMenubar.d.ts +1 -0
  271. package/dist/esm/Common/ActionMenubar.d.ts.map +1 -0
  272. package/dist/esm/Common/ActionMenubar.js.map +1 -1
  273. package/dist/esm/Common/Breadcrumbs.js.map +1 -1
  274. package/dist/esm/Common/Button.d.ts +1 -0
  275. package/dist/esm/Common/Button.d.ts.map +1 -0
  276. package/dist/esm/Common/Button.js.map +1 -1
  277. package/dist/esm/Common/ButtonImplementation.d.ts +1 -0
  278. package/dist/esm/Common/ButtonImplementation.d.ts.map +1 -0
  279. package/dist/esm/Common/ButtonImplementation.js.map +1 -1
  280. package/dist/esm/Common/Checkbox.d.ts +1 -0
  281. package/dist/esm/Common/Checkbox.d.ts.map +1 -0
  282. package/dist/esm/Common/Checkbox.js.map +1 -1
  283. package/dist/esm/Common/CheckboxImplementation.d.ts +1 -0
  284. package/dist/esm/Common/CheckboxImplementation.d.ts.map +1 -0
  285. package/dist/esm/Common/CheckboxImplementation.js.map +1 -1
  286. package/dist/esm/Common/ComboBox.js.map +1 -1
  287. package/dist/esm/Common/CratisComponentsProvider.d.ts +1 -0
  288. package/dist/esm/Common/CratisComponentsProvider.d.ts.map +1 -0
  289. package/dist/esm/Common/CratisComponentsProvider.js.map +1 -1
  290. package/dist/esm/Common/DatePickerInput.d.ts +1 -0
  291. package/dist/esm/Common/DatePickerInput.d.ts.map +1 -0
  292. package/dist/esm/Common/DatePickerInput.js.map +1 -1
  293. package/dist/esm/Common/DatePickerInputImplementation.d.ts +1 -0
  294. package/dist/esm/Common/DatePickerInputImplementation.d.ts.map +1 -0
  295. package/dist/esm/Common/DatePickerInputImplementation.js.map +1 -1
  296. package/dist/esm/Common/ErrorBoundary.js.map +1 -1
  297. package/dist/esm/Common/FormElement.js.map +1 -1
  298. package/dist/esm/Common/Icon.js.map +1 -1
  299. package/dist/esm/Common/IconButton.d.ts +1 -0
  300. package/dist/esm/Common/IconButton.d.ts.map +1 -0
  301. package/dist/esm/Common/IconButton.js.map +1 -1
  302. package/dist/esm/Common/IconButtonImplementation.d.ts +1 -0
  303. package/dist/esm/Common/IconButtonImplementation.d.ts.map +1 -0
  304. package/dist/esm/Common/IconButtonImplementation.js.map +1 -1
  305. package/dist/esm/Common/NumberInput.d.ts +1 -0
  306. package/dist/esm/Common/NumberInput.d.ts.map +1 -0
  307. package/dist/esm/Common/NumberInput.js.map +1 -1
  308. package/dist/esm/Common/NumberInputCommitReason.js.map +1 -1
  309. package/dist/esm/Common/NumberInputPartAttributes.js.map +1 -1
  310. package/dist/esm/Common/Page.js.map +1 -1
  311. package/dist/esm/Common/Radio.d.ts +1 -0
  312. package/dist/esm/Common/Radio.d.ts.map +1 -0
  313. package/dist/esm/Common/Radio.js.map +1 -1
  314. package/dist/esm/Common/RadioImplementation.d.ts +1 -0
  315. package/dist/esm/Common/RadioImplementation.d.ts.map +1 -0
  316. package/dist/esm/Common/RadioImplementation.js.map +1 -1
  317. package/dist/esm/Common/Surface.js.map +1 -1
  318. package/dist/esm/Common/SurfaceImplementation.d.ts +1 -0
  319. package/dist/esm/Common/SurfaceImplementation.d.ts.map +1 -0
  320. package/dist/esm/Common/SurfaceImplementation.js.map +1 -1
  321. package/dist/esm/Common/Switch.d.ts +1 -0
  322. package/dist/esm/Common/Switch.d.ts.map +1 -0
  323. package/dist/esm/Common/Switch.js.map +1 -1
  324. package/dist/esm/Common/SwitchImplementation.d.ts +1 -0
  325. package/dist/esm/Common/SwitchImplementation.d.ts.map +1 -0
  326. package/dist/esm/Common/SwitchImplementation.js.map +1 -1
  327. package/dist/esm/Common/Tabs.js.map +1 -1
  328. package/dist/esm/Common/TagGroup.js.map +1 -1
  329. package/dist/esm/Common/TextArea.d.ts +1 -0
  330. package/dist/esm/Common/TextArea.d.ts.map +1 -0
  331. package/dist/esm/Common/TextArea.js.map +1 -1
  332. package/dist/esm/Common/TextAreaImplementation.d.ts +1 -0
  333. package/dist/esm/Common/TextAreaImplementation.d.ts.map +1 -0
  334. package/dist/esm/Common/TextAreaImplementation.js.map +1 -1
  335. package/dist/esm/Common/TextInput.d.ts +1 -0
  336. package/dist/esm/Common/TextInput.d.ts.map +1 -0
  337. package/dist/esm/Common/TextInput.js.map +1 -1
  338. package/dist/esm/Common/TextInputImplementation.d.ts +1 -0
  339. package/dist/esm/Common/TextInputImplementation.d.ts.map +1 -0
  340. package/dist/esm/Common/TextInputImplementation.js.map +1 -1
  341. package/dist/esm/Common/ToggleGroup.js.map +1 -1
  342. package/dist/esm/Common/ToolbarFocusMode.js.map +1 -1
  343. package/dist/esm/Common/Tooltip.js.map +1 -1
  344. package/dist/esm/Common/TooltipImplementation.d.ts +1 -0
  345. package/dist/esm/Common/TooltipImplementation.d.ts.map +1 -0
  346. package/dist/esm/Common/TooltipImplementation.js.map +1 -1
  347. package/dist/esm/Common/index.d.ts +1 -0
  348. package/dist/esm/Common/index.d.ts.map +1 -0
  349. package/dist/esm/Common/messaging/useOptionalMessenger.js.map +1 -1
  350. package/dist/esm/Common/normalizeIconClass.js.map +1 -1
  351. package/dist/esm/Common/reactAriaProps.js.map +1 -1
  352. package/dist/esm/Common/useNativeCheckedState.js.map +1 -1
  353. package/dist/esm/Common/useToolbarKeyboardNavigation.d.ts +1 -0
  354. package/dist/esm/Common/useToolbarKeyboardNavigation.d.ts.map +1 -0
  355. package/dist/esm/Common/useToolbarKeyboardNavigation.js.map +1 -1
  356. package/dist/esm/DataPage/DataPage.d.ts +1 -0
  357. package/dist/esm/DataPage/DataPage.d.ts.map +1 -0
  358. package/dist/esm/DataPage/DataPage.js.map +1 -1
  359. package/dist/esm/DataPage/DataPageLayout.js.map +1 -1
  360. package/dist/esm/DataPage/index.d.ts +1 -0
  361. package/dist/esm/DataPage/index.d.ts.map +1 -0
  362. package/dist/esm/DataTables/Column.d.ts +1 -0
  363. package/dist/esm/DataTables/Column.d.ts.map +1 -0
  364. package/dist/esm/DataTables/Column.js.map +1 -1
  365. package/dist/esm/DataTables/ColumnFilterMenu.d.ts +1 -0
  366. package/dist/esm/DataTables/ColumnFilterMenu.d.ts.map +1 -0
  367. package/dist/esm/DataTables/ColumnFilterMenu.js.map +1 -1
  368. package/dist/esm/DataTables/DataTableCore.d.ts +1 -0
  369. package/dist/esm/DataTables/DataTableCore.d.ts.map +1 -0
  370. package/dist/esm/DataTables/DataTableCore.js.map +1 -1
  371. package/dist/esm/DataTables/DataTableFilterMatcherRegistry.d.ts +1 -0
  372. package/dist/esm/DataTables/DataTableFilterMatcherRegistry.d.ts.map +1 -0
  373. package/dist/esm/DataTables/DataTableFilterMatcherRegistry.js.map +1 -1
  374. package/dist/esm/DataTables/DataTableFilterMeta.js.map +1 -1
  375. package/dist/esm/DataTables/DataTableForObservableQuery.d.ts +1 -0
  376. package/dist/esm/DataTables/DataTableForObservableQuery.d.ts.map +1 -0
  377. package/dist/esm/DataTables/DataTableForObservableQuery.js.map +1 -1
  378. package/dist/esm/DataTables/DataTableForQuery.d.ts +1 -0
  379. package/dist/esm/DataTables/DataTableForQuery.d.ts.map +1 -0
  380. package/dist/esm/DataTables/DataTableForQuery.js.map +1 -1
  381. package/dist/esm/DataTables/DataTableSelectionChangeEvent.js.map +1 -1
  382. package/dist/esm/DataTables/DataTableStatus.js.map +1 -1
  383. package/dist/esm/DataTables/TablePaginator.d.ts +1 -0
  384. package/dist/esm/DataTables/TablePaginator.d.ts.map +1 -0
  385. package/dist/esm/DataTables/TablePaginator.js.map +1 -1
  386. package/dist/esm/DataTables/TablePaginatorImplementation.d.ts +1 -0
  387. package/dist/esm/DataTables/TablePaginatorImplementation.d.ts.map +1 -0
  388. package/dist/esm/DataTables/TablePaginatorImplementation.js.map +1 -1
  389. package/dist/esm/DataTables/index.d.ts +1 -0
  390. package/dist/esm/DataTables/index.d.ts.map +1 -0
  391. package/dist/esm/DataTables/paginatorRange.js.map +1 -1
  392. package/dist/esm/DataTables/resolveDataTableStatus.d.ts +1 -0
  393. package/dist/esm/DataTables/resolveDataTableStatus.d.ts.map +1 -0
  394. package/dist/esm/DataTables/resolveDataTableStatus.js.map +1 -1
  395. package/dist/esm/DataTables/selectionKeys.js.map +1 -1
  396. package/dist/esm/Dialogs/BusyIndicatorDialog.js.map +1 -1
  397. package/dist/esm/Dialogs/ConfirmationDialog.js.map +1 -1
  398. package/dist/esm/Dialogs/Dialog.d.ts +1 -0
  399. package/dist/esm/Dialogs/Dialog.d.ts.map +1 -0
  400. package/dist/esm/Dialogs/Dialog.js.map +1 -1
  401. package/dist/esm/Dialogs/DialogImplementation.d.ts +1 -0
  402. package/dist/esm/Dialogs/DialogImplementation.d.ts.map +1 -0
  403. package/dist/esm/Dialogs/DialogImplementation.js.map +1 -1
  404. package/dist/esm/Dialogs/DialogInitialFocus.js.map +1 -1
  405. package/dist/esm/Dialogs/index.d.ts +1 -0
  406. package/dist/esm/Dialogs/index.d.ts.map +1 -0
  407. package/dist/esm/Display/Avatar.js.map +1 -1
  408. package/dist/esm/Display/Badge.js.map +1 -1
  409. package/dist/esm/Display/Chip.js.map +1 -1
  410. package/dist/esm/Display/Message.js.map +1 -1
  411. package/dist/esm/Display/ProgressBar.js.map +1 -1
  412. package/dist/esm/Display/ProgressBarImplementation.d.ts +1 -0
  413. package/dist/esm/Display/ProgressBarImplementation.d.ts.map +1 -0
  414. package/dist/esm/Display/ProgressBarImplementation.js.map +1 -1
  415. package/dist/esm/Display/ProgressSpinner.js.map +1 -1
  416. package/dist/esm/Display/Skeleton.js.map +1 -1
  417. package/dist/esm/Display/Tag.js.map +1 -1
  418. package/dist/esm/Display/index.d.ts +1 -0
  419. package/dist/esm/Display/index.d.ts.map +1 -0
  420. package/dist/esm/Dropdown/Dropdown.d.ts +1 -0
  421. package/dist/esm/Dropdown/Dropdown.d.ts.map +1 -0
  422. package/dist/esm/Dropdown/Dropdown.js.map +1 -1
  423. package/dist/esm/Dropdown/DropdownImplementation.d.ts +1 -0
  424. package/dist/esm/Dropdown/DropdownImplementation.d.ts.map +1 -0
  425. package/dist/esm/Dropdown/DropdownImplementation.js.map +1 -1
  426. package/dist/esm/Dropdown/index.d.ts +1 -0
  427. package/dist/esm/Dropdown/index.d.ts.map +1 -0
  428. package/dist/esm/Dropdown/observeLabelAssociations.js.map +1 -1
  429. package/dist/esm/Dropdown/useExternalLabel.js.map +1 -1
  430. package/dist/esm/Filter/CheckboxListFilter.d.ts +1 -0
  431. package/dist/esm/Filter/CheckboxListFilter.d.ts.map +1 -0
  432. package/dist/esm/Filter/CheckboxListFilter.js.map +1 -1
  433. package/dist/esm/Filter/FilterEditor.d.ts +1 -0
  434. package/dist/esm/Filter/FilterEditor.d.ts.map +1 -0
  435. package/dist/esm/Filter/FilterEditor.js.map +1 -1
  436. package/dist/esm/Filter/FilterEditorProps.d.ts +1 -0
  437. package/dist/esm/Filter/FilterEditorProps.d.ts.map +1 -0
  438. package/dist/esm/Filter/FilterEditorProps.js.map +1 -1
  439. package/dist/esm/Filter/FilterPanel.d.ts +1 -0
  440. package/dist/esm/Filter/FilterPanel.d.ts.map +1 -0
  441. package/dist/esm/Filter/FilterPanel.js +5 -1
  442. package/dist/esm/Filter/FilterPanel.js.map +1 -1
  443. package/dist/esm/Filter/RangeHistogramFilter.d.ts +1 -0
  444. package/dist/esm/Filter/RangeHistogramFilter.d.ts.map +1 -0
  445. package/dist/esm/Filter/RangeHistogramFilter.js.map +1 -1
  446. package/dist/esm/Filter/index.d.ts +1 -0
  447. package/dist/esm/Filter/index.d.ts.map +1 -0
  448. package/dist/esm/Filter/types.js.map +1 -1
  449. package/dist/esm/Filter/useFilterState.d.ts +1 -0
  450. package/dist/esm/Filter/useFilterState.d.ts.map +1 -0
  451. package/dist/esm/Filter/useFilterState.js.map +1 -1
  452. package/dist/esm/Filter/useOptionListOverflow.js.map +1 -1
  453. package/dist/esm/Filter/utils.d.ts +1 -0
  454. package/dist/esm/Filter/utils.d.ts.map +1 -0
  455. package/dist/esm/Filter/utils.js.map +1 -1
  456. package/dist/esm/Notifications/Toaster.js.map +1 -1
  457. package/dist/esm/Notifications/index.d.ts +1 -0
  458. package/dist/esm/Notifications/index.d.ts.map +1 -0
  459. package/dist/esm/Notifications/toast.js.map +1 -1
  460. package/dist/esm/Notifications/toastCommandResult.js.map +1 -1
  461. package/dist/esm/ObjectContentEditor/ObjectContentEditor.d.ts +1 -0
  462. package/dist/esm/ObjectContentEditor/ObjectContentEditor.d.ts.map +1 -0
  463. package/dist/esm/ObjectContentEditor/ObjectContentEditor.js.map +1 -1
  464. package/dist/esm/ObjectContentEditor/index.d.ts +1 -0
  465. package/dist/esm/ObjectContentEditor/index.d.ts.map +1 -0
  466. package/dist/esm/ObjectContentEditor/objectHelpers.d.ts +1 -0
  467. package/dist/esm/ObjectContentEditor/objectHelpers.d.ts.map +1 -0
  468. package/dist/esm/ObjectContentEditor/objectHelpers.js.map +1 -1
  469. package/dist/esm/ObjectNavigationalBar/ObjectNavigationalBar.js.map +1 -1
  470. package/dist/esm/ObjectNavigationalBar/breadcrumbHelpers.js.map +1 -1
  471. package/dist/esm/ObjectNavigationalBar/index.d.ts +1 -0
  472. package/dist/esm/ObjectNavigationalBar/index.d.ts.map +1 -0
  473. package/dist/esm/PivotViewer/PivotViewer.d.ts +1 -0
  474. package/dist/esm/PivotViewer/PivotViewer.d.ts.map +1 -0
  475. package/dist/esm/PivotViewer/PivotViewer.js.map +1 -1
  476. package/dist/esm/PivotViewer/PivotViewerLabels.js.map +1 -1
  477. package/dist/esm/PivotViewer/components/AxisLabels.d.ts +1 -0
  478. package/dist/esm/PivotViewer/components/AxisLabels.d.ts.map +1 -0
  479. package/dist/esm/PivotViewer/components/AxisLabels.js.map +1 -1
  480. package/dist/esm/PivotViewer/components/DetailPanel.js.map +1 -1
  481. package/dist/esm/PivotViewer/components/FilterPanel.d.ts +1 -0
  482. package/dist/esm/PivotViewer/components/FilterPanel.d.ts.map +1 -0
  483. package/dist/esm/PivotViewer/components/FilterPanel.js.map +1 -1
  484. package/dist/esm/PivotViewer/components/FilterPanelContainer.d.ts +1 -0
  485. package/dist/esm/PivotViewer/components/FilterPanelContainer.d.ts.map +1 -0
  486. package/dist/esm/PivotViewer/components/FilterPanelContainer.js.map +1 -1
  487. package/dist/esm/PivotViewer/components/PivotCanvas.d.ts +1 -0
  488. package/dist/esm/PivotViewer/components/PivotCanvas.d.ts.map +1 -0
  489. package/dist/esm/PivotViewer/components/PivotCanvas.js.map +1 -1
  490. package/dist/esm/PivotViewer/components/PivotViewerMain.d.ts +1 -0
  491. package/dist/esm/PivotViewer/components/PivotViewerMain.d.ts.map +1 -0
  492. package/dist/esm/PivotViewer/components/PivotViewerMain.js.map +1 -1
  493. package/dist/esm/PivotViewer/components/RangeHistogramFilter.d.ts +1 -0
  494. package/dist/esm/PivotViewer/components/RangeHistogramFilter.d.ts.map +1 -0
  495. package/dist/esm/PivotViewer/components/RangeHistogramFilter.js.map +1 -1
  496. package/dist/esm/PivotViewer/components/Spinner.js.map +1 -1
  497. package/dist/esm/PivotViewer/components/Toolbar.d.ts +1 -0
  498. package/dist/esm/PivotViewer/components/Toolbar.d.ts.map +1 -0
  499. package/dist/esm/PivotViewer/components/Toolbar.js.map +1 -1
  500. package/dist/esm/PivotViewer/components/ToolbarContainer.d.ts +1 -0
  501. package/dist/esm/PivotViewer/components/ToolbarContainer.d.ts.map +1 -0
  502. package/dist/esm/PivotViewer/components/ToolbarContainer.js.map +1 -1
  503. package/dist/esm/PivotViewer/components/index.d.ts +1 -0
  504. package/dist/esm/PivotViewer/components/index.d.ts.map +1 -0
  505. package/dist/esm/PivotViewer/components/index.js +1 -0
  506. package/dist/esm/PivotViewer/components/index.js.map +1 -0
  507. package/dist/esm/PivotViewer/components/pivot/animation.d.ts +1 -0
  508. package/dist/esm/PivotViewer/components/pivot/animation.d.ts.map +1 -0
  509. package/dist/esm/PivotViewer/components/pivot/animation.js.map +1 -1
  510. package/dist/esm/PivotViewer/components/pivot/colorResolver.d.ts +1 -0
  511. package/dist/esm/PivotViewer/components/pivot/colorResolver.d.ts.map +1 -0
  512. package/dist/esm/PivotViewer/components/pivot/colorResolver.js.map +1 -1
  513. package/dist/esm/PivotViewer/components/pivot/constants.js.map +1 -1
  514. package/dist/esm/PivotViewer/components/pivot/ellipsize.js.map +1 -1
  515. package/dist/esm/PivotViewer/components/pivot/groups.d.ts +1 -0
  516. package/dist/esm/PivotViewer/components/pivot/groups.d.ts.map +1 -0
  517. package/dist/esm/PivotViewer/components/pivot/groups.js.map +1 -1
  518. package/dist/esm/PivotViewer/components/pivot/sprites.d.ts +1 -0
  519. package/dist/esm/PivotViewer/components/pivot/sprites.d.ts.map +1 -0
  520. package/dist/esm/PivotViewer/components/pivot/sprites.js.map +1 -1
  521. package/dist/esm/PivotViewer/components/pivot/syncScrollSprites.d.ts +1 -0
  522. package/dist/esm/PivotViewer/components/pivot/syncScrollSprites.d.ts.map +1 -0
  523. package/dist/esm/PivotViewer/components/pivot/syncScrollSprites.js.map +1 -1
  524. package/dist/esm/PivotViewer/components/pivot/visibility.d.ts +1 -0
  525. package/dist/esm/PivotViewer/components/pivot/visibility.d.ts.map +1 -0
  526. package/dist/esm/PivotViewer/components/pivot/visibility.js.map +1 -1
  527. package/dist/esm/PivotViewer/constants.js.map +1 -1
  528. package/dist/esm/PivotViewer/engine/layout.d.ts +1 -0
  529. package/dist/esm/PivotViewer/engine/layout.d.ts.map +1 -0
  530. package/dist/esm/PivotViewer/engine/layout.js.map +1 -1
  531. package/dist/esm/PivotViewer/engine/pivot.worker.js +1 -0
  532. package/dist/esm/PivotViewer/engine/pivot.worker.js.map +1 -0
  533. package/dist/esm/PivotViewer/engine/requestCorrelator.js.map +1 -1
  534. package/dist/esm/PivotViewer/engine/store.d.ts +1 -0
  535. package/dist/esm/PivotViewer/engine/store.d.ts.map +1 -0
  536. package/dist/esm/PivotViewer/engine/store.js.map +1 -1
  537. package/dist/esm/PivotViewer/engine/types.js.map +1 -1
  538. package/dist/esm/PivotViewer/hooks/index.d.ts +1 -0
  539. package/dist/esm/PivotViewer/hooks/index.d.ts.map +1 -0
  540. package/dist/esm/PivotViewer/hooks/index.js +1 -0
  541. package/dist/esm/PivotViewer/hooks/index.js.map +1 -0
  542. package/dist/esm/PivotViewer/hooks/useAnimationModeTracking.js.map +1 -1
  543. package/dist/esm/PivotViewer/hooks/useCardSelection.d.ts +1 -0
  544. package/dist/esm/PivotViewer/hooks/useCardSelection.d.ts.map +1 -0
  545. package/dist/esm/PivotViewer/hooks/useCardSelection.js.map +1 -1
  546. package/dist/esm/PivotViewer/hooks/useContainerDimensions.js.map +1 -1
  547. package/dist/esm/PivotViewer/hooks/useCurrentFilters.d.ts +1 -0
  548. package/dist/esm/PivotViewer/hooks/useCurrentFilters.d.ts.map +1 -0
  549. package/dist/esm/PivotViewer/hooks/useCurrentFilters.js.map +1 -1
  550. package/dist/esm/PivotViewer/hooks/useDetailPanelClose.d.ts +1 -0
  551. package/dist/esm/PivotViewer/hooks/useDetailPanelClose.d.ts.map +1 -0
  552. package/dist/esm/PivotViewer/hooks/useDetailPanelClose.js.map +1 -1
  553. package/dist/esm/PivotViewer/hooks/useDimensionState.d.ts +1 -0
  554. package/dist/esm/PivotViewer/hooks/useDimensionState.d.ts.map +1 -0
  555. package/dist/esm/PivotViewer/hooks/useDimensionState.js.map +1 -1
  556. package/dist/esm/PivotViewer/hooks/useFieldExtractors.d.ts +1 -0
  557. package/dist/esm/PivotViewer/hooks/useFieldExtractors.d.ts.map +1 -0
  558. package/dist/esm/PivotViewer/hooks/useFieldExtractors.js.map +1 -1
  559. package/dist/esm/PivotViewer/hooks/useFilterOptions.d.ts +1 -0
  560. package/dist/esm/PivotViewer/hooks/useFilterOptions.d.ts.map +1 -0
  561. package/dist/esm/PivotViewer/hooks/useFilterOptions.js.map +1 -1
  562. package/dist/esm/PivotViewer/hooks/useFilterPanelDrag.js.map +1 -1
  563. package/dist/esm/PivotViewer/hooks/useFilterState.d.ts +1 -0
  564. package/dist/esm/PivotViewer/hooks/useFilterState.d.ts.map +1 -0
  565. package/dist/esm/PivotViewer/hooks/useFilterState.js.map +1 -1
  566. package/dist/esm/PivotViewer/hooks/useFilteredData.d.ts +1 -0
  567. package/dist/esm/PivotViewer/hooks/useFilteredData.d.ts.map +1 -0
  568. package/dist/esm/PivotViewer/hooks/useFilteredData.js +1 -0
  569. package/dist/esm/PivotViewer/hooks/useFilteredData.js.map +1 -0
  570. package/dist/esm/PivotViewer/hooks/usePanning.js.map +1 -1
  571. package/dist/esm/PivotViewer/hooks/usePivotEngine.d.ts +1 -0
  572. package/dist/esm/PivotViewer/hooks/usePivotEngine.d.ts.map +1 -0
  573. package/dist/esm/PivotViewer/hooks/usePivotEngine.js.map +1 -1
  574. package/dist/esm/PivotViewer/hooks/useScrollSync.d.ts +1 -0
  575. package/dist/esm/PivotViewer/hooks/useScrollSync.d.ts.map +1 -0
  576. package/dist/esm/PivotViewer/hooks/useScrollSync.js.map +1 -1
  577. package/dist/esm/PivotViewer/hooks/useSelectedItem.js +1 -0
  578. package/dist/esm/PivotViewer/hooks/useSelectedItem.js.map +1 -0
  579. package/dist/esm/PivotViewer/hooks/useViewModeScrollHandling.d.ts +1 -0
  580. package/dist/esm/PivotViewer/hooks/useViewModeScrollHandling.d.ts.map +1 -0
  581. package/dist/esm/PivotViewer/hooks/useViewModeScrollHandling.js.map +1 -1
  582. package/dist/esm/PivotViewer/hooks/useWheelZoom.js.map +1 -1
  583. package/dist/esm/PivotViewer/hooks/useZoomScrollAnchor.js.map +1 -1
  584. package/dist/esm/PivotViewer/hooks/useZoomState.js.map +1 -1
  585. package/dist/esm/PivotViewer/index.d.ts +1 -0
  586. package/dist/esm/PivotViewer/index.d.ts.map +1 -0
  587. package/dist/esm/PivotViewer/types.d.ts +1 -0
  588. package/dist/esm/PivotViewer/types.d.ts.map +1 -0
  589. package/dist/esm/PivotViewer/types.js.map +1 -1
  590. package/dist/esm/PivotViewer/utils/animations.js.map +1 -1
  591. package/dist/esm/PivotViewer/utils/cardPosition.d.ts +1 -0
  592. package/dist/esm/PivotViewer/utils/cardPosition.d.ts.map +1 -0
  593. package/dist/esm/PivotViewer/utils/cardPosition.js.map +1 -1
  594. package/dist/esm/PivotViewer/utils/constants.js.map +1 -1
  595. package/dist/esm/PivotViewer/utils/idResolution.d.ts +1 -0
  596. package/dist/esm/PivotViewer/utils/idResolution.d.ts.map +1 -0
  597. package/dist/esm/PivotViewer/utils/idResolution.js.map +1 -1
  598. package/dist/esm/PivotViewer/utils/index.d.ts +1 -0
  599. package/dist/esm/PivotViewer/utils/index.d.ts.map +1 -0
  600. package/dist/esm/PivotViewer/utils/index.js +1 -0
  601. package/dist/esm/PivotViewer/utils/index.js.map +1 -0
  602. package/dist/esm/PivotViewer/utils/presentGrouping.d.ts +1 -0
  603. package/dist/esm/PivotViewer/utils/presentGrouping.d.ts.map +1 -0
  604. package/dist/esm/PivotViewer/utils/presentGrouping.js.map +1 -1
  605. package/dist/esm/PivotViewer/utils/search.d.ts +1 -0
  606. package/dist/esm/PivotViewer/utils/search.d.ts.map +1 -0
  607. package/dist/esm/PivotViewer/utils/search.js.map +1 -1
  608. package/dist/esm/PivotViewer/utils/selection.d.ts +1 -0
  609. package/dist/esm/PivotViewer/utils/selection.d.ts.map +1 -0
  610. package/dist/esm/PivotViewer/utils/selection.js.map +1 -1
  611. package/dist/esm/PivotViewer/utils/utils.d.ts +1 -0
  612. package/dist/esm/PivotViewer/utils/utils.d.ts.map +1 -0
  613. package/dist/esm/PivotViewer/utils/utils.js.map +1 -1
  614. package/dist/esm/QueryStatus/QueryStatus.js.map +1 -1
  615. package/dist/esm/QueryStatus/resolveQueryStatus.d.ts +1 -0
  616. package/dist/esm/QueryStatus/resolveQueryStatus.d.ts.map +1 -0
  617. package/dist/esm/QueryStatus/resolveQueryStatus.js.map +1 -1
  618. package/dist/esm/SchemaEditor/NameCell.d.ts +1 -0
  619. package/dist/esm/SchemaEditor/NameCell.d.ts.map +1 -0
  620. package/dist/esm/SchemaEditor/NameCell.js.map +1 -1
  621. package/dist/esm/SchemaEditor/SchemaEditor.d.ts +1 -0
  622. package/dist/esm/SchemaEditor/SchemaEditor.d.ts.map +1 -0
  623. package/dist/esm/SchemaEditor/SchemaEditor.js.map +1 -1
  624. package/dist/esm/SchemaEditor/TypeCell.d.ts +1 -0
  625. package/dist/esm/SchemaEditor/TypeCell.d.ts.map +1 -0
  626. package/dist/esm/SchemaEditor/TypeCell.js.map +1 -1
  627. package/dist/esm/SchemaEditor/index.d.ts +1 -0
  628. package/dist/esm/SchemaEditor/index.d.ts.map +1 -0
  629. package/dist/esm/SchemaEditor/schemaHelpers.d.ts +1 -0
  630. package/dist/esm/SchemaEditor/schemaHelpers.d.ts.map +1 -0
  631. package/dist/esm/SchemaEditor/schemaHelpers.js.map +1 -1
  632. package/dist/esm/TimeMachine/EventsView.d.ts +1 -0
  633. package/dist/esm/TimeMachine/EventsView.d.ts.map +1 -0
  634. package/dist/esm/TimeMachine/EventsView.js.map +1 -1
  635. package/dist/esm/TimeMachine/Properties.js.map +1 -1
  636. package/dist/esm/TimeMachine/ReadModelView.d.ts +1 -0
  637. package/dist/esm/TimeMachine/ReadModelView.d.ts.map +1 -0
  638. package/dist/esm/TimeMachine/ReadModelView.js.map +1 -1
  639. package/dist/esm/TimeMachine/TimeMachine.d.ts +1 -0
  640. package/dist/esm/TimeMachine/TimeMachine.d.ts.map +1 -0
  641. package/dist/esm/TimeMachine/TimeMachine.js.map +1 -1
  642. package/dist/esm/TimeMachine/TimeMachineLabels.js.map +1 -1
  643. package/dist/esm/TimeMachine/index.d.ts +1 -0
  644. package/dist/esm/TimeMachine/index.d.ts.map +1 -0
  645. package/dist/esm/TimeMachine/propertiesHelpers.js.map +1 -1
  646. package/dist/esm/TimeMachine/types.js.map +1 -1
  647. package/dist/esm/Toolbar/Toolbar.d.ts +1 -0
  648. package/dist/esm/Toolbar/Toolbar.d.ts.map +1 -0
  649. package/dist/esm/Toolbar/Toolbar.js.map +1 -1
  650. package/dist/esm/Toolbar/ToolbarButton.d.ts +1 -0
  651. package/dist/esm/Toolbar/ToolbarButton.d.ts.map +1 -0
  652. package/dist/esm/Toolbar/ToolbarButton.js.map +1 -1
  653. package/dist/esm/Toolbar/ToolbarContext.js.map +1 -1
  654. package/dist/esm/Toolbar/ToolbarDragContext.js.map +1 -1
  655. package/dist/esm/Toolbar/ToolbarFanOutItem.d.ts +1 -0
  656. package/dist/esm/Toolbar/ToolbarFanOutItem.d.ts.map +1 -0
  657. package/dist/esm/Toolbar/ToolbarFanOutItem.js.map +1 -1
  658. package/dist/esm/Toolbar/ToolbarFolder.d.ts +1 -0
  659. package/dist/esm/Toolbar/ToolbarFolder.d.ts.map +1 -0
  660. package/dist/esm/Toolbar/ToolbarFolder.js.map +1 -1
  661. package/dist/esm/Toolbar/ToolbarFolderContext.js.map +1 -1
  662. package/dist/esm/Toolbar/ToolbarGroup.js.map +1 -1
  663. package/dist/esm/Toolbar/ToolbarItemVisibilityContext.js.map +1 -1
  664. package/dist/esm/Toolbar/ToolbarLayout.js.map +1 -1
  665. package/dist/esm/Toolbar/ToolbarSection.js.map +1 -1
  666. package/dist/esm/Toolbar/ToolbarSeparator.js.map +1 -1
  667. package/dist/esm/Toolbar/ToolbarSlot.js.map +1 -1
  668. package/dist/esm/Toolbar/index.d.ts +1 -0
  669. package/dist/esm/Toolbar/index.d.ts.map +1 -0
  670. package/dist/esm/configuration/CratisComponentsContext.d.ts +1 -0
  671. package/dist/esm/configuration/CratisComponentsContext.d.ts.map +1 -0
  672. package/dist/esm/configuration/CratisComponentsContext.js.map +1 -1
  673. package/dist/esm/configuration/CratisComponentsDefaults.d.ts +1 -0
  674. package/dist/esm/configuration/CratisComponentsDefaults.d.ts.map +1 -0
  675. package/dist/esm/configuration/CratisComponentsDefaults.js.map +1 -1
  676. package/dist/esm/configuration/useCratisIcon.d.ts +1 -0
  677. package/dist/esm/configuration/useCratisIcon.d.ts.map +1 -0
  678. package/dist/esm/configuration/useCratisIcon.js.map +1 -1
  679. package/dist/esm/index.d.ts +1 -0
  680. package/dist/esm/index.d.ts.map +1 -0
  681. package/dist/esm/renderer/DialogStackContext.js.map +1 -1
  682. package/dist/esm/renderer/RendererContext.d.ts +1 -0
  683. package/dist/esm/renderer/RendererContext.d.ts.map +1 -0
  684. package/dist/esm/renderer/RendererContext.js.map +1 -1
  685. package/dist/esm/renderer/RendererScope.d.ts +1 -0
  686. package/dist/esm/renderer/RendererScope.d.ts.map +1 -0
  687. package/dist/esm/renderer/RendererScope.js.map +1 -1
  688. package/dist/esm/renderer/builtin/index.js.map +1 -1
  689. package/dist/esm/renderer/capabilities.js.map +1 -1
  690. package/dist/esm/renderer/coreSlots.d.ts +1 -0
  691. package/dist/esm/renderer/coreSlots.d.ts.map +1 -0
  692. package/dist/esm/renderer/coreSlots.js.map +1 -1
  693. package/dist/esm/renderer/dialogStack.js.map +1 -1
  694. package/dist/esm/renderer/errors.d.ts +1 -0
  695. package/dist/esm/renderer/errors.d.ts.map +1 -0
  696. package/dist/esm/renderer/errors.js.map +1 -1
  697. package/dist/esm/renderer/index.d.ts +1 -0
  698. package/dist/esm/renderer/index.d.ts.map +1 -0
  699. package/dist/esm/renderer/manifest.d.ts +1 -0
  700. package/dist/esm/renderer/manifest.d.ts.map +1 -0
  701. package/dist/esm/renderer/manifest.js.map +1 -1
  702. package/dist/esm/renderer/overlayEnvironment.js.map +1 -1
  703. package/dist/esm/renderer/presentation.d.ts +1 -0
  704. package/dist/esm/renderer/presentation.d.ts.map +1 -0
  705. package/dist/esm/renderer/presentation.js.map +1 -1
  706. package/dist/esm/renderer/renderSlot.js.map +1 -1
  707. package/dist/esm/renderer/resolve.d.ts +1 -0
  708. package/dist/esm/renderer/resolve.d.ts.map +1 -0
  709. package/dist/esm/renderer/resolve.js.map +1 -1
  710. package/dist/esm/renderer/slots.js.map +1 -1
  711. package/dist/esm/styles.Toolbar.css +9 -17
  712. package/dist/esm/styles.css +9 -17
  713. package/dist/esm/types/ChangeHandler.d.ts +1 -0
  714. package/dist/esm/types/ChangeHandler.d.ts.map +1 -0
  715. package/dist/esm/types/ChangeHandler.js.map +1 -1
  716. package/dist/esm/types/ChangeMeta.js.map +1 -1
  717. package/dist/esm/types/ExactPartKeys.js.map +1 -1
  718. package/dist/esm/types/JsonSchema.js.map +1 -1
  719. package/dist/esm/types/TypeFormat.js.map +1 -1
  720. package/dist/esm/types/index.d.ts +1 -0
  721. package/dist/esm/types/index.d.ts.map +1 -0
  722. package/dist/esm/types/parts.js.map +1 -1
  723. package/package.json +4 -3
@@ -1 +1 @@
1
- {"version":3,"file":"FilterPanel.js","sources":["../../../Filter/FilterPanel.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"FilterPanel.js","sources":["../../../Filter/FilterPanel.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport {\n Children,\n isValidElement,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n useSyncExternalStore,\n} from 'react';\nimport type { ReactNode } from 'react';\nimport { createPortal } from 'react-dom';\nimport { AnimatePresence, motion } from 'framer-motion';\nimport { useCratisIcon } from '../configuration/useCratisIcon';\nimport { useCratisComponentsConfig } from '../configuration/CratisComponentsContext';\nimport { unstable_useOverlayEnvironment } from '../renderer/RendererContext';\nimport type {\n FilterDefinition,\n FilterValues,\n RangeValues,\n CustomFilterValues,\n} from './types';\nimport { resolveDropdownPosition, type DropdownPosition } from './utils';\nimport type { FilterEditorProps } from './FilterEditorProps';\nimport { FilterEditor } from './FilterEditor';\nimport { RangeHistogramFilter } from './RangeHistogramFilter';\nimport { CheckboxListFilter } from './CheckboxListFilter';\n\n/**\n * Props for {@link FilterPanel}.\n *\n * Describes the filter definitions to render, the current state\n * (selections, ranges, custom values), and the callbacks that fire when\n * the user changes a filter or expands a filter group.\n */\nexport interface FilterPanelProps {\n /** Whether the panel is visible. */\n isOpen: boolean;\n /** Filter definitions, each describing one filter group. */\n filters: FilterDefinition[];\n /** Current string/option selections, keyed by FilterDefinition.key. */\n filterValues: FilterValues;\n /** Current numeric range selections, keyed by FilterDefinition.key. */\n rangeValues: RangeValues;\n /** Current values for filters using a custom `<FilterEditor>` child, keyed by FilterDefinition.key. */\n customValues?: CustomFilterValues;\n /** Current search text shown in the search box. */\n search?: string;\n /** Placeholder text for the search input. Defaults to 'Search…'. */\n searchPlaceholder?: string;\n /** Accessible name for the non-modal dialog. Overrides `messages.filter.label`, then 'Filters'. */\n 'aria-label'?: string;\n /** Accessible name for the panel search. Falls back to `messages.filter.searchAriaLabel`, its placeholder, then 'Search'. */\n searchAriaLabel?: string;\n /** Accessible name for a clear-filter button. Override to localize. Defaults to 'Clear filter'. */\n clearFilterAriaLabel?: string;\n /** Accessible name for a clear-range button. Override to localize. Defaults to 'Clear range'. */\n clearRangeAriaLabel?: string;\n /** Which filter group is currently expanded. */\n expandedFilterKey?: string | null;\n /** The button element the panel anchors below. */\n anchorRef: React.RefObject<HTMLButtonElement | null>;\n /** Called when the panel should close (e.g. click outside). */\n onClose: () => void;\n /** Called when the search text changes. If omitted, the search box is hidden. */\n onSearchChange?: (value: string) => void;\n /** Called when a string option is toggled. */\n onFilterToggle: (filterKey: string, optionKey: string, multi: boolean) => void;\n /** Called when all selections for a filter are cleared. */\n onFilterClear: (filterKey: string) => void;\n /** Called when a numeric range changes. */\n onRangeChange: (filterKey: string, range: [number, number] | null) => void;\n /** Called when the expanded filter group changes. */\n onExpandedFilterChange: (key: string | null) => void;\n /** Called when a custom-editor value changes. */\n onCustomValueChange?: (filterKey: string, value: unknown) => void;\n /**\n * `<FilterEditor>` elements that provide custom UI for specific filter groups.\n *\n * See the {@link FilterPanel} example below for the complete prop mapping\n * and a custom editor.\n */\n children?: ReactNode;\n}\n\n/** Build a map of filterKey → render function from any <FilterEditor> children. */\nfunction buildEditorMap(\n children: ReactNode | undefined,\n): Record<string, (props: FilterEditorProps) => ReactNode> {\n const map: Record<string, (props: FilterEditorProps) => ReactNode> = {};\n Children.forEach(children, (child) => {\n if (isValidElement(child) && child.type === FilterEditor) {\n const { filterKey, children: renderFn } = child.props as {\n filterKey: string;\n children: (props: FilterEditorProps) => ReactNode;\n };\n if (filterKey && typeof renderFn === 'function') {\n map[filterKey] = renderFn;\n }\n }\n });\n return map;\n}\n\n/**\n * Renders a filter dropdown panel anchored below a trigger button. The panel\n * appears as a portal at a fixed position on the page and includes search,\n * collapsible filter groups, and per-filter editors (option lists, numeric\n * range histograms, or custom components).\n *\n * Use with {@link useFilterState} for turnkey state management, or wire the\n * props to external state when the filter state lives elsewhere (e.g. in a\n * query param reducer).\n *\n * ## Filter types\n *\n * - **String/option filters** render as a {@link CheckboxListFilter} - a bounded,\n * scrollable list of checkboxes or radio buttons. Controlled through `filterValues`.\n * A search box grows out of the list automatically once it has more options than\n * fit in its box; see {@link FilterDefinition.searchable} to force it always on\n * or always off instead.\n * - **Numeric/date range filters** render as a {@link RangeHistogramFilter}\n * with a draggable range selector over a histogram. Controlled through\n * `rangeValues`.\n * - **Custom filters** slot in a `<FilterEditor>` child whose `filterKey`\n * matches the filter's `key`. Controlled through `customValues`.\n *\n * ```tsx\n * import { useRef, useState } from 'react';\n * import {\n * FilterEditor, FilterPanel, useFilterState, type FilterDefinition,\n * } from '@cratis/components/Filter';\n *\n * const filters: FilterDefinition[] = [{ key: 'category', label: 'Category', type: 'custom' }];\n *\n * function FilterExample() {\n * const state = useFilterState(filters);\n * const [isOpen, setIsOpen] = useState(false);\n * const anchorRef = useRef<HTMLButtonElement>(null);\n *\n * return (\n * <>\n * <button ref={anchorRef} onClick={() => setIsOpen(!isOpen)}>\n * Filters\n * </button>\n * <FilterPanel\n * isOpen={isOpen}\n * filters={filters}\n * anchorRef={anchorRef}\n * onClose={() => setIsOpen(false)}\n * filterValues={state.filterValues}\n * rangeValues={state.rangeValues}\n * customValues={state.customValues}\n * expandedFilterKey={state.expandedFilterKey}\n * onFilterToggle={state.handleToggleFilter}\n * onFilterClear={state.handleClearFilter}\n * onRangeChange={state.handleRangeChange}\n * onExpandedFilterChange={state.setExpandedFilterKey}\n * onCustomValueChange={state.handleCustomValueChange}\n * >\n * <FilterEditor filterKey=\"category\">\n * {({ value, onChange }) => (\n * <input value={String(value ?? '')} onChange={(event) => onChange(event.target.value)} />\n * )}\n * </FilterEditor>\n * </FilterPanel>\n * </>\n * );\n * }\n * ```\n *\n * @param props - {@link FilterPanelProps}.\n */\ninterface OptionListProps {\n filter: FilterDefinition;\n selections: Set<string>;\n onFilterToggle: (filterKey: string, optionKey: string, multi: boolean) => void;\n /** Falls back to the panel-level search placeholder when the filter group has none of its own. */\n searchPlaceholder?: string;\n isExpanded: boolean;\n}\n\n/** Adapts a `FilterDefinition`'s string/option shape onto the reusable {@link CheckboxListFilter}. */\nfunction OptionList({\n filter,\n selections,\n onFilterToggle,\n searchPlaceholder,\n isExpanded,\n}: OptionListProps) {\n return (\n <CheckboxListFilter\n options={filter.options ?? []}\n selected={selections}\n multi={filter.multi}\n searchable={filter.searchable}\n searchPlaceholder={filter.searchPlaceholder ?? searchPlaceholder}\n searchAriaLabel={filter.searchAriaLabel}\n autoFocusSearch={filter.autoFocus === true && isExpanded}\n name={`filter-${filter.key}`}\n onToggle={(optionKey) =>\n onFilterToggle(filter.key, optionKey, filter.multi ?? false)\n }\n />\n );\n}\n\nconst subscribeToBrowserState = () => () => undefined;\nconst browserSnapshot = () => true;\nconst serverSnapshot = () => false;\n\n/**\n * A filter dropdown panel anchored below a trigger button. Renders filter\n * groups, search, numeric range histograms, and custom editors. The panel\n * appears as a portal at a fixed position on the page and closes when the\n * user clicks outside.\n *\n * See the full documentation comment at line 169 for usage examples.\n */\nexport function FilterPanel({\n isOpen,\n filters,\n filterValues,\n rangeValues,\n customValues,\n search,\n searchPlaceholder = 'Search…',\n 'aria-label': ariaLabel,\n searchAriaLabel,\n clearFilterAriaLabel = 'Clear filter',\n clearRangeAriaLabel = 'Clear range',\n expandedFilterKey,\n anchorRef,\n onClose,\n onSearchChange,\n onFilterToggle,\n onFilterClear,\n onRangeChange,\n onExpandedFilterChange,\n onCustomValueChange,\n children,\n}: FilterPanelProps) {\n const isBrowser = useSyncExternalStore(\n subscribeToBrowserState,\n browserSnapshot,\n serverSnapshot,\n );\n const icon = useCratisIcon();\n const { messages } = useCratisComponentsConfig();\n const overlayEnvironment = unstable_useOverlayEnvironment();\n const environmentContainer = isBrowser ? overlayEnvironment.getContainer() : null;\n const [resolvedAnchor, setResolvedAnchor] = useState<{\n anchor: HTMLButtonElement | null;\n modalRoot: HTMLElement | null;\n } | null>(null);\n // Refs attach during commit, after render. Resolve the modal before mounting any open\n // panel so its first portal never lands in a shared root hidden by the modal.\n // Ref attachment/identity can change on any commit; the state updater bails out if unchanged.\n // eslint-disable-next-line @eslint-react/exhaustive-deps\n useLayoutEffect(() => {\n const anchor = anchorRef.current;\n const modalRoot = anchor?.closest<HTMLElement>('.cratis-dialog[data-cratis-part=\"root\"]') ?? null;\n setResolvedAnchor((previous) => previous?.anchor === anchor && previous.modalRoot === modalRoot\n ? previous\n : { anchor, modalRoot });\n });\n // A shared overlay root sits outside a modal's focus scope and is hidden from assistive\n // technology. Keep a panel anchored inside a Cratis Dialog inside that modal instead.\n // An explicitly unavailable container still defers the portal; it is never a body fallback.\n const modalRoot = resolvedAnchor?.modalRoot;\n const portalContainer = environmentContainer && modalRoot && !modalRoot.contains(environmentContainer)\n ? modalRoot\n : environmentContainer;\n const panelRef = useRef<HTMLDivElement>(null);\n const [position, setPosition] = useState<DropdownPosition & { width?: number }>({\n top: 0,\n left: 0,\n maxHeight: 0,\n });\n\n const editorMap = useMemo(() => buildEditorMap(children), [children]);\n\n // Keep the fixed-position portal attached to its anchor and clamped inside the viewport.\n // A transform (or other fixed containing-block property) on the portal container OR any\n // ancestor changes the meaning of CSS left/top/bottom. A fixed probe in the portal sees\n // exactly the same containing block as the panel, without guessing which ancestor owns it.\n // Capture-phase scroll observation also covers nested scrolling containers.\n useLayoutEffect(() => {\n if (!isOpen || !portalContainer) return;\n\n const probeStyle = 'position:fixed;left:0;top:0;width:1px;height:1px;margin:0;padding:0;border:0;visibility:hidden;pointer-events:none';\n const probe = document.createElement('div');\n probe.style.cssText = probeStyle;\n portalContainer.appendChild(probe);\n // A portal inside (rather than directly on) the root can have a different fixed\n // containing block. A second probe distinguishes that descendant block from one\n // owned by the positioner outside the root.\n const rootProbe = modalRoot && modalRoot.contains(portalContainer) && portalContainer !== modalRoot\n ? document.createElement('div') : null;\n if (rootProbe && modalRoot) {\n rootProbe.style.cssText = probeStyle;\n modalRoot.appendChild(rootProbe);\n }\n\n const measureProbe = (element: HTMLDivElement) => {\n element.style.top = '0';\n element.style.bottom = 'auto';\n const origin = element.getBoundingClientRect();\n element.style.top = 'auto';\n element.style.bottom = '0';\n const bottom = element.getBoundingClientRect().bottom;\n element.style.bottom = 'auto';\n element.style.left = 'auto';\n element.style.right = '0';\n const right = element.getBoundingClientRect().right;\n element.style.left = '0';\n element.style.right = 'auto';\n return { origin, bottom, right };\n };\n\n const updatePosition = () => {\n if (!anchorRef.current || !panelRef.current) return;\n\n // The probe stays mounted while open, but its origin must be read on every\n // update: scrolling a transformed ancestor changes its viewport coordinates.\n const { origin, bottom: containingBlockBottom, right: containingBlockRight } = measureProbe(probe);\n\n // offsetWidth is in local CSS pixels; the probe's rect supplies the viewport scale.\n // Preserve the viewport gutter even when a containing block scales the dropdown.\n const scaleX = origin.width || 1;\n const scaleY = origin.height || 1;\n // Layoutless renderers report zero; browser layout uses the scrollbar-free viewport.\n // In quirks mode the viewport's client size is reported on the body, not the root.\n const viewportElement = document.compatMode === 'BackCompat' ? document.body : document.documentElement;\n const viewport = {\n width: viewportElement.clientWidth || window.innerWidth,\n height: viewportElement.clientHeight || window.innerHeight,\n };\n const rootRect = modalRoot && modalRoot.contains(portalContainer)\n ? modalRoot.getBoundingClientRect() : null;\n const rootEdges = rootRect && (rootProbe ? measureProbe(rootProbe) :\n { origin, bottom: containingBlockBottom, right: containingBlockRight });\n const rootStyle = rootRect && getComputedStyle(modalRoot!);\n const rootScaleX = rootEdges?.origin.width ?? 1;\n const rootScaleY = rootEdges?.origin.height ?? 1;\n // Axis-aligned bounding rects lose the padding origin under rotation/skew.\n // The root's own containing-block properties cover those cases; the probe\n // comparison below still handles nested portal containers geometrically.\n const rootHasFixedContainingStyle = Boolean(rootStyle && (\n rootStyle.transform !== 'none' || rootStyle.translate !== 'none' ||\n rootStyle.scale !== 'none' || rootStyle.rotate !== 'none' ||\n rootStyle.perspective !== 'none' || rootStyle.filter !== 'none' ||\n rootStyle.getPropertyValue('backdrop-filter') !== 'none' &&\n rootStyle.getPropertyValue('backdrop-filter') !== '' ||\n /\\b(?:layout|paint|strict|content)\\b/u.test(rootStyle.contain) ||\n /^(?:size|inline-size)$/u.test(rootStyle.getPropertyValue('container-type')) ||\n /\\b(?:transform|translate|scale|rotate|perspective|filter|backdrop-filter|contain|container-type)\\b/u\n .test(rootStyle.willChange)\n ));\n // A fixed probe spans its containing block, not the Dialog's overflow box.\n // Compare all four edges to the root's padding box: a side dialog can share\n // the positioner's top-left origin without sharing its containing block.\n // Comparing to innerWidth/innerHeight instead would mistake classic scrollbars\n // (excluded from the layout viewport) for a transformed containing block.\n const rootOwnsBlock = rootHasFixedContainingStyle || Boolean(rootRect && rootEdges && rootStyle &&\n Math.abs(rootEdges.origin.left - (rootRect.left + parseFloat(rootStyle.borderLeftWidth) * rootScaleX)) <= 0.5 &&\n Math.abs(rootEdges.origin.top - (rootRect.top + parseFloat(rootStyle.borderTopWidth) * rootScaleY)) <= 0.5 &&\n Math.abs(rootEdges.right - (rootRect.right - parseFloat(rootStyle.borderRightWidth) * rootScaleX)) <= 0.5 &&\n Math.abs(rootEdges.bottom - (rootRect.bottom - parseFloat(rootStyle.borderBottomWidth) * rootScaleY)) <= 0.5);\n const descendantOwnsBlock = Boolean(rootEdges && rootProbe && (\n Math.abs(origin.left - rootEdges.origin.left) > 0.5 ||\n Math.abs(origin.top - rootEdges.origin.top) > 0.5 ||\n Math.abs(containingBlockRight - rootEdges.right) > 0.5 ||\n Math.abs(containingBlockBottom - rootEdges.bottom) > 0.5));\n const modalRect = rootOwnsBlock || descendantOwnsBlock ? rootRect : null;\n // Layoutless environments cannot supply a modal clip rect.\n const clip = modalRect && modalRect.right > modalRect.left && modalRect.bottom > modalRect.top\n ? modalRect : null;\n const bounds = {\n left: Math.max(0, clip?.left ?? 0),\n top: Math.max(0, clip?.top ?? 0),\n right: Math.min(viewport.width, clip?.right ?? viewport.width),\n bottom: Math.min(viewport.height, clip?.bottom ?? viewport.height),\n };\n const visible = {\n width: Math.max(0, bounds.right - bounds.left),\n height: Math.max(0, bounds.bottom - bounds.top),\n };\n // Measure the CSS width without a previous resize's inline clamp applied.\n const panel = panelRef.current;\n const previousWidth = panel.style.width;\n if (previousWidth) panel.style.width = '';\n const cssWidth = panel.offsetWidth;\n if (previousWidth) panel.style.width = previousWidth;\n const width = cssWidth * scaleX > visible.width - 32\n ? Math.max(0, (visible.width - 32) / scaleX)\n : undefined;\n const anchor = anchorRef.current.getBoundingClientRect();\n const viewportPosition = resolveDropdownPosition({\n left: anchor.left - bounds.left,\n top: anchor.top - bounds.top,\n bottom: anchor.bottom - bounds.top,\n }, visible, (width ?? cssWidth) * scaleX);\n const nextPosition = {\n left: (bounds.left + viewportPosition.left - origin.left) / scaleX,\n top: viewportPosition.top === undefined ? undefined : (bounds.top + viewportPosition.top - origin.top) / scaleY,\n bottom: viewportPosition.bottom === undefined ? undefined\n : (containingBlockBottom - (bounds.bottom - viewportPosition.bottom)) / scaleY,\n maxHeight: viewportPosition.maxHeight / scaleY,\n width,\n };\n setPosition((previous) => previous.left === nextPosition.left &&\n previous.top === nextPosition.top && previous.bottom === nextPosition.bottom &&\n previous.maxHeight === nextPosition.maxHeight && previous.width === nextPosition.width\n ? previous : nextPosition);\n };\n\n // A Dialog's entry motion may change the fixed-position containing block.\n // Measure again when its root or positioner stops moving.\n let animationFrame: number | undefined;\n const schedulePosition = () => {\n if (animationFrame !== undefined) return;\n animationFrame = requestAnimationFrame(() => {\n animationFrame = undefined;\n updatePosition();\n });\n };\n const handleScroll = (event: Event) => {\n if (event.target instanceof Node && panelRef.current?.contains(event.target)) return;\n schedulePosition();\n };\n // Consumers may replace the Dialog's entry animation or animate its positioner.\n // Ignore events bubbling from controls inside the dialog; one frame is enough for\n // any number of animations or transitions ending in the same rendering frame.\n const positioner = modalRoot?.parentElement?.matches('[data-cratis-part=\"positioner\"]')\n ? modalRoot.parentElement : null;\n const handleModalMotionEnd = (event: Event) => {\n if (event.target === modalRoot || event.target === positioner) schedulePosition();\n };\n const motionEvents = ['animationend', 'animationcancel', 'transitionend'] as const;\n\n updatePosition();\n window.addEventListener('resize', schedulePosition);\n window.addEventListener('scroll', handleScroll, true);\n for (const eventName of motionEvents) {\n modalRoot?.addEventListener(eventName, handleModalMotionEnd);\n positioner?.addEventListener(eventName, handleModalMotionEnd);\n }\n\n return () => {\n if (animationFrame !== undefined) cancelAnimationFrame(animationFrame);\n window.removeEventListener('resize', schedulePosition);\n window.removeEventListener('scroll', handleScroll, true);\n for (const eventName of motionEvents) {\n modalRoot?.removeEventListener(eventName, handleModalMotionEnd);\n positioner?.removeEventListener(eventName, handleModalMotionEnd);\n }\n probe.remove();\n rootProbe?.remove();\n };\n }, [anchorRef, isOpen, modalRoot, portalContainer, resolvedAnchor?.anchor]);\n\n // Handle click outside to close\n useEffect(() => {\n if (!isOpen) return;\n\n const handleClickOutside = (event: MouseEvent) => {\n const target = event.target as Node;\n const panel = panelRef.current;\n const anchor = anchorRef.current;\n\n if (panel && !panel.contains(target) && anchor && !anchor.contains(target)) {\n onClose();\n }\n };\n\n // Use capture phase to ensure we catch the event before any other handlers.\n // Use timeout to avoid closing immediately when clicking the button to open.\n const timeoutId = setTimeout(() => {\n document.addEventListener('mousedown', handleClickOutside, true);\n }, 0);\n\n return () => {\n clearTimeout(timeoutId);\n document.removeEventListener('mousedown', handleClickOutside, true);\n };\n }, [isOpen, anchorRef, onClose]);\n\n useEffect(() => {\n if (isOpen && panelRef.current && !panelRef.current.contains(document.activeElement)) {\n panelRef.current.focus();\n }\n }, [isOpen, portalContainer, resolvedAnchor]);\n\n useEffect(() => {\n if (!isOpen) return;\n\n const handleAnchorEscape = (event: KeyboardEvent) => {\n if (event.key !== 'Escape' || event.defaultPrevented || event.isComposing) return;\n const focused = document.activeElement;\n if (focused && anchorRef.current?.contains(focused)) {\n event.preventDefault();\n event.stopPropagation();\n onClose();\n anchorRef.current?.focus();\n }\n };\n document.addEventListener('keydown', handleAnchorEscape, true);\n return () => {\n document.removeEventListener('keydown', handleAnchorEscape, true);\n };\n }, [isOpen, anchorRef, onClose]);\n\n if (!portalContainer || !resolvedAnchor || resolvedAnchor.anchor !== anchorRef.current) return null;\n\n return createPortal(\n <AnimatePresence initial={Boolean(modalRoot)}>\n {isOpen && (\n <motion.div\n ref={panelRef}\n role='dialog'\n aria-label={ariaLabel ?? messages?.filter?.label ?? 'Filters'}\n tabIndex={-1}\n onKeyDown={(event) => {\n if (event.key !== 'Escape' || event.defaultPrevented || event.nativeEvent.isComposing) return;\n event.preventDefault();\n event.stopPropagation();\n onClose();\n anchorRef.current?.focus();\n }}\n className='pv-filter-dropdown'\n style={{\n position: 'fixed',\n left: position.left,\n top: position.top,\n bottom: position.bottom,\n maxHeight: position.maxHeight,\n width: position.width,\n }}\n initial={{ opacity: 0, y: -8 }}\n animate={{ opacity: 1, y: 0 }}\n exit={{ opacity: 0, y: -8 }}\n transition={{ duration: 0.15 }}\n data-open={isOpen || undefined}\n >\n <div className='pv-filter-dropdown-content'>\n {onSearchChange && (\n <div className='pv-search'>\n <input\n type='search'\n placeholder={searchPlaceholder}\n aria-label={(searchAriaLabel ?? messages?.filter?.searchAriaLabel ?? searchPlaceholder) || 'Search'}\n value={search ?? ''}\n onChange={(event) =>\n onSearchChange(event.target.value)\n }\n />\n </div>\n )}\n <div className='pv-filter-groups'>\n {filters.map((filter) => {\n const selections =\n filterValues[filter.key] ?? new Set<string>();\n const rangeSelection = rangeValues[filter.key];\n const customValue = customValues?.[filter.key];\n const isExpanded = expandedFilterKey === filter.key;\n const isDate = filter.type === 'date';\n const isNumeric = filter.type === 'number' || isDate;\n const editorRender = editorMap[filter.key];\n const isCustom =\n filter.type === 'custom' ||\n editorRender !== undefined;\n const hasCustomValue =\n customValue !== undefined && customValue !== null;\n const canClear = isNumeric\n ? Boolean(rangeSelection)\n : isCustom\n ? hasCustomValue\n : selections.size > 0;\n const clearLabel = isNumeric\n ? clearRangeAriaLabel\n : clearFilterAriaLabel;\n const clearValue = () => {\n if (isNumeric) onRangeChange(filter.key, null);\n else if (isCustom) {\n onCustomValueChange?.(filter.key, undefined);\n } else onFilterClear(filter.key);\n };\n const formatRangeValue = isDate\n ? (value: number) => new Date(value).toLocaleString()\n : undefined;\n\n return (\n <div\n key={filter.key}\n className={`pv-filter ${isExpanded ? 'expanded' : ''}`}\n data-selected={canClear || undefined}\n data-open={isExpanded || undefined}\n >\n <div\n className='pv-filter-trigger'\n data-selected={canClear || undefined}\n data-open={isExpanded || undefined}\n >\n <button\n type='button'\n className='pv-filter-toggle'\n aria-expanded={isExpanded}\n data-selected={canClear || undefined}\n data-open={isExpanded || undefined}\n data-pressed={isExpanded || undefined}\n onClick={() =>\n onExpandedFilterChange(\n isExpanded ? null : filter.key,\n )\n }\n >\n <span className='pv-filter-label'>\n {filter.label}\n </span>\n <span className='pv-filter-trigger-meta'>\n {!isNumeric &&\n !isCustom &&\n selections.size > 0 && (\n <span className='pv-filter-count'>\n {selections.size}\n </span>\n )}\n {isNumeric && rangeSelection && (\n <span className='pv-filter-count'>\n Range\n </span>\n )}\n {isCustom && hasCustomValue && (\n <span className='pv-filter-count'>\n •\n </span>\n )}\n <span className='pv-filter-chevron' />\n </span>\n </button>\n {canClear && (\n <button\n type='button'\n className='pv-filter-clear-header'\n title={clearLabel}\n aria-label={clearLabel}\n onClick={clearValue}\n >\n {icon('clear', '×')}\n </button>\n )}\n </div>\n <div\n className={`pv-filter-content ${isExpanded ? 'expanded' : ''}`}\n data-open={isExpanded || undefined}\n >\n {isCustom && editorRender ? (\n editorRender({\n value: customValue,\n onChange: (value) =>\n onCustomValueChange?.(\n filter.key,\n value,\n ),\n })\n ) : isNumeric && filter.numericRange ? (\n <RangeHistogramFilter\n values={filter.numericRange.values}\n histogram={\n filter.numericRange.histogram\n }\n min={filter.numericRange.min}\n max={filter.numericRange.max}\n buckets={filter.buckets ?? 20}\n selectedRange={rangeSelection ?? null}\n onChange={(range) =>\n onRangeChange(filter.key, range)\n }\n formatValue={formatRangeValue}\n />\n ) : (\n <OptionList\n filter={filter}\n selections={selections}\n onFilterToggle={onFilterToggle}\n searchPlaceholder={searchPlaceholder}\n isExpanded={isExpanded}\n />\n )}\n </div>\n </div>\n );\n })}\n </div>\n </div>\n </motion.div>\n )}\n </AnimatePresence>,\n portalContainer,\n );\n}\n"],"names":["_jsx","_jsxs"],"mappings":"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"}
@@ -68,3 +68,4 @@ export interface RangeHistogramFilterProps {
68
68
  * @param props - {@link RangeHistogramFilterProps}.
69
69
  */
70
70
  export declare function RangeHistogramFilter({ values, histogram: providedHistogram, min, max, buckets, selectedRange, onChange, formatValue, itemsLabel, minimumAriaLabel, maximumAriaLabel, }: RangeHistogramFilterProps): import("react").JSX.Element;
71
+ //# sourceMappingURL=RangeHistogramFilter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RangeHistogramFilter.d.ts","sourceRoot":"","sources":["../../../Filter/RangeHistogramFilter.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAS,CAAC;AAG5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAAwB,CAAC;AAE5D;;;;;;GAMG;AACH,MAAM,WAAW,yBAAyB;IACtC;;OAEG;IACH,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IACvB;;;;OAIG;IACH,SAAS,CAAC,EAAE,eAAe,EAAE,CAAC;IAC9B,sCAAsC;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,sCAAsC;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yEAAyE;IACzE,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IACvC,mGAAmG;IACnG,QAAQ,EAAE,aAAa,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IACjD;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACxC,2FAA2F;IAC3F,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iFAAiF;IACjF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iFAAiF;IACjF,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAOD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,oBAAoB,CAAC,EACjC,MAAM,EACN,SAAS,EAAE,iBAAiB,EAC5B,GAAG,EACH,GAAG,EACH,OAAY,EACZ,aAAa,EACb,QAAQ,EACR,WAAgC,EAChC,UAAoB,EACpB,gBAAkC,EAClC,gBAAkC,GACrC,EAAE,yBAAyB,+BA8O3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"RangeHistogramFilter.js","sources":["../../../Filter/RangeHistogramFilter.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"RangeHistogramFilter.js","sources":["../../../Filter/RangeHistogramFilter.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport type { FilterValue, HistogramBucket } from './types';\nimport { buildHistogram } from './utils';\nimport type { RenderedHistogramBucket } from './utils';\nimport type { ChangeHandler } from '../types/ChangeHandler';\n\n/**\n * Props for {@link RangeHistogramFilter}.\n *\n * Describes the data to histogram, the numeric bounds, the selected range,\n * and the callback invoked when the user drags the range handles or clicks\n * a histogram bar.\n */\nexport interface RangeHistogramFilterProps {\n /**\n * The raw values to count into buckets in the browser. Ignored when `histogram` is supplied.\n */\n values?: FilterValue[];\n /**\n * Pre-counted buckets to render instead of counting `values`. Use this when the counts come from\n * somewhere that can see more data than the browser holds - a server aggregating over a large\n * table, for instance - so the picker reflects everything rather than the loaded page.\n */\n histogram?: HistogramBucket[];\n /** The minimum value of the range. */\n min: number;\n /** The maximum value of the range. */\n max: number;\n /** Number of histogram buckets to divide the range into. Defaults to 20. */\n buckets?: number;\n /** The currently selected range, or `null` when no range is selected. */\n selectedRange: [number, number] | null;\n /** Called with the selected range and optional user-interaction metadata. Pass `null` to clear. */\n onChange: ChangeHandler<[number, number] | null>;\n /**\n * Optional formatter for endpoint labels and bar tooltips. Defaults to a numeric formatter.\n * Use this to display ms timestamps as dates, currency, etc.\n */\n formatValue?: (value: number) => string;\n /** Unit shown after a histogram bar count. Override to localize. Defaults to `'items'`. */\n itemsLabel?: string;\n /** Accessible name for the lower-bound slider. Defaults to `'Minimum value'`. */\n minimumAriaLabel?: string;\n /** Accessible name for the upper-bound slider. Defaults to `'Maximum value'`. */\n maximumAriaLabel?: string;\n}\n\nconst defaultFormatValue = (value: number) => {\n if (Number.isInteger(value)) return value.toString();\n return value.toFixed(1);\n};\n\n/**\n * A draggable numeric range selector rendered over a histogram. The user can\n * drag the left and right handles to select a range, drag the range bar to\n * slide the entire range, or click a histogram bar to snap the selection to\n * that bar's bounds.\n *\n * Use this for numeric and date-range filters inside {@link FilterPanel}. The\n * panel wires it automatically for `type: 'number'` or `type: 'date'` filters\n * that supply a `numericRange`.\n *\n * ```tsx\n * <RangeHistogramFilter\n * min={0}\n * max={1000}\n * buckets={20}\n * selectedRange={range}\n * onChange={setRange}\n * values={allValues} // counted in the browser\n * />\n * ```\n *\n * For large datasets, pass pre-computed `histogram` buckets from the server\n * instead of `values`, so the histogram reflects everything rather than the\n * loaded page.\n *\n * @param props - {@link RangeHistogramFilterProps}.\n */\nexport function RangeHistogramFilter({\n values,\n histogram: providedHistogram,\n min,\n max,\n buckets = 20,\n selectedRange,\n onChange,\n formatValue = defaultFormatValue,\n itemsLabel = 'items',\n minimumAriaLabel = 'Minimum value',\n maximumAriaLabel = 'Maximum value',\n}: RangeHistogramFilterProps) {\n const containerRef = useRef<HTMLDivElement>(null);\n const [isDragging, setIsDragging] = useState<'left' | 'right' | 'range' | null>(null);\n const [dragStart, setDragStart] = useState<{\n x: number;\n range: [number, number];\n } | null>(null);\n\n const numericValues = useMemo(() => {\n return (values ?? [])\n .map((v) => {\n if (typeof v === 'number') return v;\n if (v instanceof Date) return v.getTime();\n const parsed = Number(v);\n return Number.isNaN(parsed) ? null : parsed;\n })\n .filter((v): v is number => v !== null);\n }, [values]);\n\n const histogram = useMemo(\n () => buildHistogram(numericValues, min, max, buckets, providedHistogram),\n [providedHistogram, numericValues, min, max, buckets],\n );\n\n const currentRange = selectedRange ?? [min, max];\n\n const getPositionFromValue = useCallback(\n (value: number) => {\n const range = max - min;\n if (range <= 0) return 0;\n return ((value - min) / range) * 100;\n },\n [min, max],\n );\n\n const handleMouseDown = (e: React.MouseEvent, handle: 'left' | 'right' | 'range') => {\n e.preventDefault?.();\n setIsDragging(handle);\n setDragStart({ x: e.clientX, range: [...currentRange] as [number, number] });\n };\n\n useEffect(() => {\n if (!isDragging || !dragStart || !containerRef.current) return;\n\n const container = containerRef.current;\n const rect = container.getBoundingClientRect();\n const range = max - min;\n\n const handleMouseMove = (e: MouseEvent) => {\n const deltaX = e.clientX - dragStart.x;\n const deltaPercent = (deltaX / rect.width) * 100;\n const deltaValue = (deltaPercent / 100) * range;\n\n let newRange: [number, number] = [...dragStart.range];\n\n if (isDragging === 'left') {\n newRange[0] = Math.max(\n min,\n Math.min(dragStart.range[0] + deltaValue, newRange[1] - range * 0.01),\n );\n } else if (isDragging === 'right') {\n newRange[1] = Math.min(\n max,\n Math.max(dragStart.range[1] + deltaValue, newRange[0] + range * 0.01),\n );\n } else if (isDragging === 'range') {\n const rangeWidth = dragStart.range[1] - dragStart.range[0];\n let newStart = dragStart.range[0] + deltaValue;\n let newEnd = dragStart.range[1] + deltaValue;\n\n if (newStart < min) {\n newStart = min;\n newEnd = min + rangeWidth;\n }\n if (newEnd > max) {\n newEnd = max;\n newStart = max - rangeWidth;\n }\n\n newRange = [newStart, newEnd];\n }\n\n onChange(newRange, { source: 'user', nativeEvent: e });\n };\n\n const handleMouseUp = () => {\n setIsDragging(null);\n setDragStart(null);\n };\n\n document.addEventListener('mousemove', handleMouseMove);\n document.addEventListener('mouseup', handleMouseUp);\n\n return () => {\n document.removeEventListener('mousemove', handleMouseMove);\n document.removeEventListener('mouseup', handleMouseUp);\n };\n }, [isDragging, dragStart, min, max, onChange]);\n\n const handleBarClick = (\n bucket: RenderedHistogramBucket,\n event: React.MouseEvent<HTMLButtonElement>,\n ) => {\n onChange([bucket.start, bucket.end], {\n source: 'user',\n nativeEvent: event.nativeEvent,\n });\n };\n\n const rangeSpan = max - min;\n const minimumGap = rangeSpan * 0.01;\n const keyboardStep = rangeSpan / Math.max(1, buckets);\n\n const handleHandleKeyDown = (\n event: React.KeyboardEvent<HTMLDivElement>,\n handle: 'left' | 'right',\n ) => {\n if (keyboardStep <= 0) return;\n\n let next: number | undefined;\n const current = handle === 'left' ? currentRange[0] : currentRange[1];\n if (event.key === 'ArrowLeft' || event.key === 'ArrowDown') {\n next = current - keyboardStep;\n } else if (event.key === 'ArrowRight' || event.key === 'ArrowUp') {\n next = current + keyboardStep;\n } else if (event.key === 'Home') {\n next = handle === 'left' ? min : currentRange[0] + minimumGap;\n } else if (event.key === 'End') {\n next = handle === 'left' ? currentRange[1] - minimumGap : max;\n } else return;\n\n event.preventDefault();\n const rounded = Number(next.toFixed(10));\n if (handle === 'left') {\n onChange(\n [\n Math.max(min, Math.min(rounded, currentRange[1] - minimumGap)),\n currentRange[1],\n ],\n { source: 'user', nativeEvent: event.nativeEvent },\n );\n } else {\n onChange(\n [\n currentRange[0],\n Math.min(max, Math.max(rounded, currentRange[0] + minimumGap)),\n ],\n { source: 'user', nativeEvent: event.nativeEvent },\n );\n }\n };\n\n const leftPos = getPositionFromValue(currentRange[0]);\n const rightPos = getPositionFromValue(currentRange[1]);\n\n return (\n <div\n className='pv-range-histogram'\n ref={containerRef}\n data-selected={selectedRange !== null || undefined}\n >\n <div className='pv-histogram-bars'>\n {histogram.map((bucket, i) => {\n const heightPercent = (bucket.count / bucket.maxCount) * 100;\n const isInRange =\n bucket.start >= currentRange[0] && bucket.end <= currentRange[1];\n const isPartiallyInRange =\n bucket.end > currentRange[0] && bucket.start < currentRange[1];\n const isSelected =\n selectedRange !== null && isPartiallyInRange;\n\n return (\n <button\n key={i}\n className={`pv-histogram-bar ${isInRange ? 'in-range' : ''} ${isPartiallyInRange && !isInRange ? 'partial' : ''}`}\n style={{ height: `${heightPercent}%` }}\n onClick={(event) => handleBarClick(bucket, event)}\n title={`${formatValue(bucket.start)} - ${formatValue(bucket.end)}: ${bucket.count} ${itemsLabel}`}\n type='button'\n data-selected={isSelected || undefined}\n />\n );\n })}\n </div>\n\n <div\n className='pv-range-slider'\n data-selected={selectedRange !== null || undefined}\n >\n <div className='pv-range-track' />\n <div\n className='pv-range-selection'\n style={{\n left: `${leftPos}%`,\n width: `${rightPos - leftPos}%`,\n }}\n data-selected={selectedRange !== null || undefined}\n data-pressed={isDragging === 'range' || undefined}\n onMouseDown={(e) => handleMouseDown(e, 'range')}\n />\n <div\n className='pv-range-handle pv-range-handle-left'\n style={{ left: `${leftPos}%` }}\n role='slider'\n tabIndex={0}\n aria-label={minimumAriaLabel}\n aria-valuemin={min}\n aria-valuemax={currentRange[1] - minimumGap}\n aria-valuenow={currentRange[0]}\n aria-valuetext={formatValue(currentRange[0])}\n data-selected={selectedRange !== null || undefined}\n data-pressed={isDragging === 'left' || undefined}\n onMouseDown={(e) => handleMouseDown(e, 'left')}\n onKeyDown={(event) => handleHandleKeyDown(event, 'left')}\n />\n <div\n className='pv-range-handle pv-range-handle-right'\n style={{ left: `${rightPos}%` }}\n role='slider'\n tabIndex={0}\n aria-label={maximumAriaLabel}\n aria-valuemin={currentRange[0] + minimumGap}\n aria-valuemax={max}\n aria-valuenow={currentRange[1]}\n aria-valuetext={formatValue(currentRange[1])}\n data-selected={selectedRange !== null || undefined}\n data-pressed={isDragging === 'right' || undefined}\n onMouseDown={(e) => handleMouseDown(e, 'right')}\n onKeyDown={(event) => handleHandleKeyDown(event, 'right')}\n />\n </div>\n\n <div className='pv-range-labels'>\n <span className='pv-range-value'>{formatValue(currentRange[0])}</span>\n <span className='pv-range-value'>{formatValue(currentRange[1])}</span>\n </div>\n </div>\n );\n}\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
@@ -11,3 +11,4 @@ export { useFilterState } from './useFilterState.js';
11
11
  export type { UseFilterStateResult } from './useFilterState.js';
12
12
  export { buildHistogram } from './utils.js';
13
13
  export type { FilterValue, FilterOption, FilterDefinition, HistogramBucket, FilterValues, RangeValues, CustomFilterValues, } from './types.js';
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../Filter/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAe,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAe,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAsB,CAAC;AAC1D,YAAY,EAAE,uBAAuB,EAAE,MAAM,yBAAsB,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAgB,CAAC;AAC9C,YAAY,EAAE,qBAAqB,EAAE,MAAM,mBAAgB,CAAC;AAC5D,YAAY,EAAE,iBAAiB,EAAE,MAAM,wBAAqB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAAwB,CAAC;AAC9D,YAAY,EAAE,yBAAyB,EAAE,MAAM,2BAAwB,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAkB,CAAC;AAClD,YAAY,EAAE,oBAAoB,EAAE,MAAM,qBAAkB,CAAC;AAI7D,OAAO,EAAE,cAAc,EAAE,MAAM,YAAS,CAAC;AACzC,YAAY,EACR,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,WAAW,EACX,kBAAkB,GACrB,MAAM,YAAS,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../Filter/types.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../Filter/types.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG","sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\n/** A value that can be rendered in a filter option or counted into a histogram bucket. */\nexport type FilterValue = string | number | boolean | Date | null | undefined;\n\n/** One selectable option in a string/option filter group. */\nexport interface FilterOption {\n /** Unique key for this option, used to track selections. */\n key: string;\n /** Human-readable label shown in the filter UI. */\n label: string;\n /** The underlying value this option represents. */\n value: FilterValue;\n /** Optional count of items with this value, shown next to the label. */\n count?: number;\n}\n\n/** One pre-counted bar of a range filter's histogram. */\nexport interface HistogramBucket {\n /** Inclusive start of the bucket, on the same scale as the filter's range. */\n start: number;\n /** Exclusive end of the bucket, on the same scale as the filter's range. */\n end: number;\n /** Number of items that fall inside the bucket. */\n count: number;\n}\n\n/** Defines one filter group in a {@link FilterPanel}. */\nexport interface FilterDefinition {\n /** Unique key for this filter group. */\n key: string;\n /** Human-readable label shown in the filter panel. */\n label: string;\n /**\n * Filter type. Defaults to 'string'. Use 'number' for range/histogram.\n * Use 'custom' when providing a `<FilterEditor>` child inside `<FilterPanel>` for fully custom UI.\n */\n type?: 'string' | 'number' | 'date' | 'custom';\n /** Allow selecting multiple options (checkbox behaviour). Defaults to false (radio behaviour). */\n multi?: boolean;\n /** Pre-computed options for string/date filters. */\n options?: FilterOption[];\n /**\n * Numeric range data for 'number' and 'date' type filters.\n *\n * Supply `values` to have the histogram counted in the browser, or `histogram` when the counts\n * were produced elsewhere - by a server aggregating over more rows than are worth transferring,\n * for instance. `histogram` wins when both are present.\n */\n numericRange?: {\n min: number;\n max: number;\n values?: FilterValue[];\n histogram?: HistogramBucket[];\n };\n /** Number of histogram buckets. Defaults to 20. */\n buckets?: number;\n /**\n * Whether to show an inline search box that filters this group's options by label.\n *\n * - `true` always shows it.\n * - `false` never shows it, no matter how long the option list gets.\n * - `undefined` (the default) shows it only when there are more options than fit inside the\n * group's box, pinned to the top of the list while the options beneath it scroll.\n */\n searchable?: boolean;\n /** Placeholder shown in the inline search box. Defaults to 'Search…'. */\n searchPlaceholder?: string;\n /** Accessible name for this group's search. Overrides `messages.filter.searchAriaLabel`, then falls back to the effective placeholder and 'Search'. */\n searchAriaLabel?: string;\n /** Focus this group's search when expanded and the search input exists. Defaults to false. */\n autoFocus?: boolean;\n}\n\n/** Selected string/option values for each filter, keyed by FilterDefinition.key. */\nexport type FilterValues = Record<string, Set<string>>;\n\n/** Selected numeric ranges for each filter, keyed by FilterDefinition.key. */\nexport type RangeValues = Record<string, [number, number] | null>;\n\n/** Custom values for filters that use renderEditor, keyed by FilterDefinition.key. */\nexport type CustomFilterValues = Record<string, unknown>;\n"]}
@@ -35,3 +35,4 @@ export interface UseFilterStateResult {
35
35
  * handlers directly to <FilterPanel>.
36
36
  */
37
37
  export declare function useFilterState(filters: FilterDefinition[] | undefined): UseFilterStateResult;
38
+ //# sourceMappingURL=useFilterState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFilterState.d.ts","sourceRoot":"","sources":["../../../Filter/useFilterState.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACR,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,kBAAkB,EACrB,MAAM,YAAS,CAAC;AAGjB;;;;;;;GAOG;AACH,MAAM,WAAW,oBAAoB;IACjC,yEAAyE;IACzE,YAAY,EAAE,YAAY,CAAC;IAC3B,yEAAyE;IACzE,WAAW,EAAE,WAAW,CAAC;IACzB,mGAAmG;IACnG,YAAY,EAAE,kBAAkB,CAAC;IACjC,uFAAuF;IACvF,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,uEAAuE;IACvE,oBAAoB,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACnD,2DAA2D;IAC3D,kBAAkB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnF,qEAAqE;IACrE,iBAAiB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,4EAA4E;IAC5E,iBAAiB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;IAC/E,mDAAmD;IACnD,uBAAuB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACxE;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC1B,OAAO,EAAE,gBAAgB,EAAE,GAAG,SAAS,GACxC,oBAAoB,CAiHtB"}
@@ -1 +1 @@
1
- {"version":3,"file":"useFilterState.js","sources":["../../../Filter/useFilterState.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useFilterState.js","sources":["../../../Filter/useFilterState.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport type {\n FilterDefinition,\n FilterValues,\n RangeValues,\n CustomFilterValues,\n} from './types';\nimport { buildFilterValues, buildRangeValues } from './utils';\n\n/**\n * Return type of {@link useFilterState}.\n *\n * Contains the current filter state (selections, ranges, custom values, and\n * the expanded filter key) and handlers for toggling options, clearing\n * filters, changing ranges, and changing custom values. Pass these directly\n * to {@link FilterPanel}.\n */\nexport interface UseFilterStateResult {\n /** Current string/option selections, keyed by `FilterDefinition.key`. */\n filterValues: FilterValues;\n /** Current numeric range selections, keyed by `FilterDefinition.key`. */\n rangeValues: RangeValues;\n /** Current values for filters using a custom `<FilterEditor>`, keyed by `FilterDefinition.key`. */\n customValues: CustomFilterValues;\n /** The key of the currently expanded filter group, or `null` when none is expanded. */\n expandedFilterKey: string | null;\n /** Set which filter group is expanded. Pass `null` to collapse all. */\n setExpandedFilterKey: (key: string | null) => void;\n /** Called when the user toggles a string/option filter. */\n handleToggleFilter: (filterKey: string, optionKey: string, multi: boolean) => void;\n /** Called when the user clears all selections for a filter group. */\n handleClearFilter: (filterKey: string) => void;\n /** Called when the user drags a numeric range or clicks a histogram bar. */\n handleRangeChange: (filterKey: string, range: [number, number] | null) => void;\n /** Called when a custom editor's value changes. */\n handleCustomValueChange: (filterKey: string, value: unknown) => void;\n}\n\n/**\n * State management hook for the standalone FilterPanel.\n *\n * Tracks selected options, numeric ranges, and custom values for every\n * filter in the provided `filters` array. Pass the returned values and\n * handlers directly to <FilterPanel>.\n */\nexport function useFilterState(\n filters: FilterDefinition[] | undefined,\n): UseFilterStateResult {\n const [filterValues, setFilterValues] = useState<FilterValues>(() =>\n buildFilterValues(filters),\n );\n const [rangeValues, setRangeValues] = useState<RangeValues>(() =>\n buildRangeValues(filters),\n );\n const [customValues, setCustomValues] = useState<CustomFilterValues>({});\n const [expandedFilterKey, setExpandedFilterKey] = useState<string | null>(\n filters?.[0]?.key ?? null,\n );\n\n // Serialize filter keys to avoid infinite loops from reference changes\n const filterKeys = useMemo(\n () => filters?.map((f) => f.key).join(',') ?? '',\n [filters],\n );\n const prevFilterKeysRef = useRef<string>(filterKeys);\n\n // Sync state when the filter definitions change (only when keys actually change)\n useEffect(() => {\n // Only update if the filter keys have actually changed\n if (filterKeys === prevFilterKeysRef.current) return;\n prevFilterKeysRef.current = filterKeys;\n\n setFilterValues((prev) => {\n const next = buildFilterValues(filters);\n if (!filters) return next;\n filters.forEach((filter) => {\n if (prev[filter.key]) {\n next[filter.key] = new Set(prev[filter.key]);\n }\n });\n return next;\n });\n\n setRangeValues((prev) => {\n const next = buildRangeValues(filters);\n if (!filters) return next;\n filters.forEach((filter) => {\n if (filter.type === 'number' && filter.key in prev) {\n next[filter.key] = prev[filter.key];\n }\n });\n return next;\n });\n }, [filterKeys, filters]);\n\n useEffect(() => {\n if (!filters?.length) {\n setExpandedFilterKey(null);\n return;\n }\n setExpandedFilterKey((current) => {\n if (current && filters.some((f) => f.key === current)) return current;\n return filters[0]?.key ?? null;\n });\n }, [filterKeys, filters]);\n\n const handleToggleFilter = useCallback(\n (filterKey: string, optionKey: string, multi: boolean) => {\n setFilterValues((prev) => {\n const next: FilterValues = { ...prev };\n const current = new Set(prev[filterKey] ?? []);\n\n if (multi) {\n if (current.has(optionKey)) {\n current.delete(optionKey);\n } else {\n current.add(optionKey);\n }\n } else {\n if (current.has(optionKey)) {\n current.clear();\n } else {\n current.clear();\n current.add(optionKey);\n }\n }\n\n next[filterKey] = current;\n return next;\n });\n },\n [],\n );\n\n const handleClearFilter = useCallback((filterKey: string) => {\n setFilterValues((prev) => ({ ...prev, [filterKey]: new Set() }));\n }, []);\n\n const handleRangeChange = useCallback(\n (filterKey: string, range: [number, number] | null) => {\n setRangeValues((prev) => ({ ...prev, [filterKey]: range }));\n },\n [],\n );\n\n const handleCustomValueChange = useCallback((filterKey: string, value: unknown) => {\n setCustomValues((prev) => ({ ...prev, [filterKey]: value }));\n }, []);\n\n return {\n filterValues,\n rangeValues,\n customValues,\n expandedFilterKey,\n setExpandedFilterKey,\n handleToggleFilter,\n handleClearFilter,\n handleRangeChange,\n handleCustomValueChange,\n };\n}\n"],"names":[],"mappings":";;;AAgDM,SAAU,cAAc,CAC1B,OAAuC,EAAA;AAEvC,IAAA,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAe,MAC3D,iBAAiB,CAAC,OAAO,CAAC,CAC7B;AACD,IAAA,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAc,MACxD,gBAAgB,CAAC,OAAO,CAAC,CAC5B;IACD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAqB,EAAE,CAAC;AACxE,IAAA,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CACtD,OAAO,GAAG,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,CAC5B;AAGD,IAAA,MAAM,UAAU,GAAG,OAAO,CACtB,MAAM,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAChD,CAAC,OAAO,CAAC,CACZ;AACD,IAAA,MAAM,iBAAiB,GAAG,MAAM,CAAS,UAAU,CAAC;IAGpD,SAAS,CAAC,MAAK;AAEX,QAAA,IAAI,UAAU,KAAK,iBAAiB,CAAC,OAAO;YAAE;AAC9C,QAAA,iBAAiB,CAAC,OAAO,GAAG,UAAU;AAEtC,QAAA,eAAe,CAAC,CAAC,IAAI,KAAI;AACrB,YAAA,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC;AACvC,YAAA,IAAI,CAAC,OAAO;AAAE,gBAAA,OAAO,IAAI;AACzB,YAAA,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,KAAI;AACvB,gBAAA,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;AAClB,oBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChD;AACJ,YAAA,CAAC,CAAC;AACF,YAAA,OAAO,IAAI;AACf,QAAA,CAAC,CAAC;AAEF,QAAA,cAAc,CAAC,CAAC,IAAI,KAAI;AACpB,YAAA,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC;AACtC,YAAA,IAAI,CAAC,OAAO;AAAE,gBAAA,OAAO,IAAI;AACzB,YAAA,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,KAAI;AACvB,gBAAA,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,GAAG,IAAI,IAAI,EAAE;AAChD,oBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;gBACvC;AACJ,YAAA,CAAC,CAAC;AACF,YAAA,OAAO,IAAI;AACf,QAAA,CAAC,CAAC;AACN,IAAA,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAEzB,SAAS,CAAC,MAAK;AACX,QAAA,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE;YAClB,oBAAoB,CAAC,IAAI,CAAC;YAC1B;QACJ;AACA,QAAA,oBAAoB,CAAC,CAAC,OAAO,KAAI;AAC7B,YAAA,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC;AAAE,gBAAA,OAAO,OAAO;YACrE,OAAO,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI;AAClC,QAAA,CAAC,CAAC;AACN,IAAA,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAEzB,MAAM,kBAAkB,GAAG,WAAW,CAClC,CAAC,SAAiB,EAAE,SAAiB,EAAE,KAAc,KAAI;AACrD,QAAA,eAAe,CAAC,CAAC,IAAI,KAAI;AACrB,YAAA,MAAM,IAAI,GAAiB,EAAE,GAAG,IAAI,EAAE;AACtC,YAAA,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YAE9C,IAAI,KAAK,EAAE;AACP,gBAAA,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;AACxB,oBAAA,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;gBAC7B;qBAAO;AACH,oBAAA,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;gBAC1B;YACJ;iBAAO;AACH,gBAAA,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;oBACxB,OAAO,CAAC,KAAK,EAAE;gBACnB;qBAAO;oBACH,OAAO,CAAC,KAAK,EAAE;AACf,oBAAA,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;gBAC1B;YACJ;AAEA,YAAA,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO;AACzB,YAAA,OAAO,IAAI;AACf,QAAA,CAAC,CAAC;IACN,CAAC,EACD,EAAE,CACL;AAED,IAAA,MAAM,iBAAiB,GAAG,WAAW,CAAC,CAAC,SAAiB,KAAI;QACxD,eAAe,CAAC,CAAC,IAAI,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;IACpE,CAAC,EAAE,EAAE,CAAC;IAEN,MAAM,iBAAiB,GAAG,WAAW,CACjC,CAAC,SAAiB,EAAE,KAA8B,KAAI;AAClD,QAAA,cAAc,CAAC,CAAC,IAAI,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC,SAAS,GAAG,KAAK,EAAE,CAAC,CAAC;IAC/D,CAAC,EACD,EAAE,CACL;IAED,MAAM,uBAAuB,GAAG,WAAW,CAAC,CAAC,SAAiB,EAAE,KAAc,KAAI;AAC9E,QAAA,eAAe,CAAC,CAAC,IAAI,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC,SAAS,GAAG,KAAK,EAAE,CAAC,CAAC;IAChE,CAAC,EAAE,EAAE,CAAC;IAEN,OAAO;QACH,YAAY;QACZ,WAAW;QACX,YAAY;QACZ,iBAAiB;QACjB,oBAAoB;QACpB,kBAAkB;QAClB,iBAAiB;QACjB,iBAAiB;QACjB,uBAAuB;KAC1B;AACL;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useOptionListOverflow.js","sources":["../../../Filter/useOptionListOverflow.ts"],"sourcesContent":[null],"names":[],"mappings":";;;SAqBgB,qBAAqB,CACjC,YAA2C,EAC3C,UAAyC,EACzC,OAAgB,EAAA;IAEhB,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;IAEjD,eAAe,CAAC,MAAK;QACjB,IAAI,CAAC,OAAO,EAAE;YACV,YAAY,CAAC,KAAK,CAAC;YACnB;QACJ;AAEA,QAAA,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO;AACtC,QAAA,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO;AAClC,QAAA,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO;YAAE;QAE5B,MAAM,OAAO,GAAG,MAAK;AACjB,YAAA,MAAM,SAAS,GAAG,UAAU,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC;AACxE,YAAA,YAAY,CACR,mBAAmB,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,YAAY,EAAE,SAAS,EAAE,CAAC,CAC1E;AACL,QAAA,CAAC;AAED,QAAA,OAAO,EAAE;QAET,IAAI,OAAO,cAAc,KAAK,WAAW;YAAE;AAE3C,QAAA,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC;AAC5C,QAAA,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC;AAC3B,QAAA,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC;AAEzB,QAAA,OAAO,MAAM,QAAQ,CAAC,UAAU,EAAE;IACtC,CAAC,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;AAEvC,IAAA,OAAO,SAAS;AACpB;;"}
1
+ {"version":3,"file":"useOptionListOverflow.js","sources":["../../../Filter/useOptionListOverflow.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { useLayoutEffect, useState } from 'react';\nimport type { RefObject } from 'react';\nimport { optionListOverflows } from './utils';\n\n/**\n * Tracks whether an option list's full content is taller than the box it renders in.\n *\n * `contentRef` should point at an off-screen element holding every option - not the live,\n * possibly search-filtered list - so a user typing into the search box this hook decided to show\n * never itself shrinks the measured content below the threshold and un-decides that the box\n * needed a search in the first place. `containerRef`'s own `scrollHeight`/`clientHeight` are not\n * used for the same reason: they move as the search box appears and disappears, which would make\n * the decision chase itself. Instead the container's resolved CSS `max-height` is read directly,\n * since that value does not depend on what is currently rendered inside it.\n *\n * Pass `enabled: false` to skip measuring entirely - for callers that already know whether they\n * want a search box and do not need this hook to decide for them.\n */\nexport function useOptionListOverflow(\n containerRef: RefObject<HTMLElement | null>,\n contentRef: RefObject<HTMLElement | null>,\n enabled: boolean,\n): boolean {\n const [overflows, setOverflows] = useState(false);\n\n useLayoutEffect(() => {\n if (!enabled) {\n setOverflows(false);\n return;\n }\n\n const container = containerRef.current;\n const content = contentRef.current;\n if (!container || !content) return;\n\n const measure = () => {\n const maxHeight = parseFloat(getComputedStyle(container).maxHeight) || 0;\n setOverflows(\n optionListOverflows({ contentHeight: content.scrollHeight, maxHeight }),\n );\n };\n\n measure();\n\n if (typeof ResizeObserver === 'undefined') return;\n\n const observer = new ResizeObserver(measure);\n observer.observe(container);\n observer.observe(content);\n\n return () => observer.disconnect();\n }, [containerRef, contentRef, enabled]);\n\n return overflows;\n}\n"],"names":[],"mappings":";;;SAqBgB,qBAAqB,CACjC,YAA2C,EAC3C,UAAyC,EACzC,OAAgB,EAAA;IAEhB,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;IAEjD,eAAe,CAAC,MAAK;QACjB,IAAI,CAAC,OAAO,EAAE;YACV,YAAY,CAAC,KAAK,CAAC;YACnB;QACJ;AAEA,QAAA,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO;AACtC,QAAA,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO;AAClC,QAAA,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO;YAAE;QAE5B,MAAM,OAAO,GAAG,MAAK;AACjB,YAAA,MAAM,SAAS,GAAG,UAAU,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC;AACxE,YAAA,YAAY,CACR,mBAAmB,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,YAAY,EAAE,SAAS,EAAE,CAAC,CAC1E;AACL,QAAA,CAAC;AAED,QAAA,OAAO,EAAE;QAET,IAAI,OAAO,cAAc,KAAK,WAAW;YAAE;AAE3C,QAAA,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC;AAC5C,QAAA,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC;AAC3B,QAAA,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC;AAEzB,QAAA,OAAO,MAAM,QAAQ,CAAC,UAAU,EAAE;IACtC,CAAC,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;AAEvC,IAAA,OAAO,SAAS;AACpB;;"}
@@ -58,3 +58,4 @@ export declare function buildRangeValues(filters: FilterDefinition[] | undefined
58
58
  * Otherwise the raw values are counted into `bucketCount` evenly sized buckets across the range.
59
59
  */
60
60
  export declare function buildHistogram(values: number[], min: number, max: number, bucketCount: number, provided?: HistogramBucket[]): RenderedHistogramBucket[];
61
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../Filter/utils.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACR,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,WAAW,EACd,MAAM,YAAS,CAAC;AAEjB,sFAAsF;AACtF,MAAM,WAAW,uBAAwB,SAAQ,eAAe;IAC5D,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,2FAA2F;AAC3F,MAAM,WAAW,kBAAkB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,iEAAiE;AACjE,MAAM,WAAW,gBAAgB;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,0FAA0F;AAC1F,MAAM,WAAW,yBAAyB;IACtC,kEAAkE;IAClE,aAAa,EAAE,MAAM,CAAC;IACtB,+EAA+E;IAC/E,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,qEAAqE;AACrE,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACrB;AAYD;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACnC,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,gBAAgB,EAC1B,UAAU,SAAqB,GAChC,gBAAgB,CAgDlB;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,EAChC,aAAa,EACb,SAAS,GACZ,EAAE,yBAAyB,GAAG,OAAO,CAErC;AAED,8EAA8E;AAC9E,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,EAAE,GAAG,SAAS,GAAG,YAAY,CAQvF;AAED,+DAA+D;AAC/D,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,EAAE,GAAG,SAAS,GAAG,WAAW,CAQrF;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC1B,MAAM,EAAE,MAAM,EAAE,EAChB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,eAAe,EAAE,GAC7B,uBAAuB,EAAE,CA0B3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../Filter/utils.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sources":["../../../Filter/utils.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport type {\n FilterDefinition,\n FilterValues,\n HistogramBucket,\n RangeValues,\n} from './types';\n\n/** A histogram bucket with the tallest count in its set, so a bar can size itself. */\nexport interface RenderedHistogramBucket extends HistogramBucket {\n maxCount: number;\n}\n\n/** The anchor edges the filter dropdown is positioned against, in viewport coordinates. */\nexport interface DropdownAnchorRect {\n top: number;\n bottom: number;\n left: number;\n}\n\n/** The visible viewport the filter dropdown must stay inside. */\nexport interface DropdownViewport {\n width: number;\n height: number;\n}\n\n/** The measured height budget behind the decision to show an option list's search box. */\nexport interface OptionListOverflowMetrics {\n /** The combined natural height of every option row, in pixels. */\n contentHeight: number;\n /** The maximum height the option list box is allowed to grow to, in pixels. */\n maxHeight: number;\n}\n\n/** Fixed-position coordinates and bounds for the filter dropdown. */\nexport interface DropdownPosition {\n left: number;\n top?: number;\n bottom?: number;\n maxHeight: number;\n}\n\n// These mirror `.pv-filter-dropdown` in `FilterPanel.css`, which bounds the panel at\n// `width: min(320px, calc(100vw - 2rem))` and `max-height: calc(100vh - 8rem)`.\nconst DROPDOWN_MAX_WIDTH = 320;\nconst DROPDOWN_MAX_HEIGHT_INSET = 128;\nconst DROPDOWN_GUTTER = 16;\nconst DROPDOWN_ANCHOR_GAP = 8;\n\nconst clamp = (value: number, minimum: number, maximum: number) =>\n Math.min(Math.max(value, minimum), maximum);\n\n/**\n * Place the filter dropdown against its anchor without letting it leave the viewport.\n *\n * The panel is `position: fixed`, so an anchor near the right edge would otherwise push it\n * off-screen, and an anchor near the bottom would open a panel that cannot be reached. The\n * horizontal placement is clamped into the available gutter. When the panel flips above its\n * anchor it uses `bottom`, rather than guessing its rendered height, so short content remains\n * attached to the trigger. The selected side also supplies an explicit maximum height.\n */\nexport function resolveDropdownPosition(\n anchor: DropdownAnchorRect,\n viewport: DropdownViewport,\n panelWidth = DROPDOWN_MAX_WIDTH,\n): DropdownPosition {\n const viewportWidth = Math.max(0, viewport.width);\n const viewportHeight = Math.max(0, viewport.height);\n const horizontalGutter = Math.min(DROPDOWN_GUTTER, viewportWidth / 2);\n const verticalGutter = Math.min(DROPDOWN_GUTTER, viewportHeight / 2);\n const width = Math.max(\n 0,\n Math.min(panelWidth, viewportWidth - horizontalGutter * 2),\n );\n const left = clamp(\n anchor.left,\n horizontalGutter,\n Math.max(horizontalGutter, viewportWidth - width - horizontalGutter),\n );\n\n const top = clamp(\n anchor.bottom + DROPDOWN_ANCHOR_GAP,\n verticalGutter,\n Math.max(verticalGutter, viewportHeight - verticalGutter),\n );\n const bottom = clamp(\n viewportHeight - anchor.top + DROPDOWN_ANCHOR_GAP,\n verticalGutter,\n Math.max(verticalGutter, viewportHeight - verticalGutter),\n );\n const roomBelow = Math.max(0, viewportHeight - verticalGutter - top);\n const roomAbove = Math.max(0, viewportHeight - verticalGutter - bottom);\n const configuredMaxHeight = Math.max(\n 0,\n viewportHeight -\n (viewportHeight > DROPDOWN_MAX_HEIGHT_INSET\n ? DROPDOWN_MAX_HEIGHT_INSET\n : verticalGutter * 2),\n );\n\n if (roomBelow >= roomAbove) {\n return {\n top,\n left,\n maxHeight: Math.min(roomBelow, configuredMaxHeight),\n };\n }\n\n return {\n bottom,\n left,\n maxHeight: Math.min(roomAbove, configuredMaxHeight),\n };\n}\n\n/**\n * Whether an option list has more rows than fit inside its box - the signal a filter group uses to\n * grow a search box the caller did not explicitly ask for. `maxHeight` of zero means the box has not\n * been measured yet (e.g. before first layout), so the answer defaults to \"not overflowing\" rather\n * than flashing a search box speculatively. Pulled out of the measuring hook so the decision is\n * testable on plain numbers, without a real layout engine.\n */\nexport function optionListOverflows({\n contentHeight,\n maxHeight,\n}: OptionListOverflowMetrics): boolean {\n return maxHeight > 0 && contentHeight > maxHeight;\n}\n\n/** Initialise the string/option selection map for all string/date filters. */\nexport function buildFilterValues(filters: FilterDefinition[] | undefined): FilterValues {\n const state: FilterValues = {};\n filters?.forEach((filter) => {\n if (!filter.type || filter.type === 'string' || filter.type === 'date') {\n state[filter.key] = new Set<string>();\n }\n });\n return state;\n}\n\n/** Initialise the numeric range map for all number filters. */\nexport function buildRangeValues(filters: FilterDefinition[] | undefined): RangeValues {\n const state: RangeValues = {};\n filters?.forEach((filter) => {\n if (filter.type === 'number') {\n state[filter.key] = null;\n }\n });\n return state;\n}\n\n/**\n * Build the bars a range filter renders.\n *\n * Pre-counted buckets are rendered as given - they come from a source that saw more data than the\n * browser holds, so recounting them against the loaded values would understate the real totals.\n * Otherwise the raw values are counted into `bucketCount` evenly sized buckets across the range.\n */\nexport function buildHistogram(\n values: number[],\n min: number,\n max: number,\n bucketCount: number,\n provided?: HistogramBucket[],\n): RenderedHistogramBucket[] {\n if (provided !== undefined) {\n if (provided.length === 0) return [];\n const providedMax = Math.max(...provided.map((bucket) => bucket.count), 1);\n return provided.map((bucket) => ({ ...bucket, maxCount: providedMax }));\n }\n\n const range = max - min;\n if (range <= 0 || values.length === 0) return [];\n\n const bucketSize = range / bucketCount;\n const counts: number[] = Array(bucketCount).fill(0);\n\n values.forEach((value) => {\n const index = Math.min(Math.floor((value - min) / bucketSize), bucketCount - 1);\n if (index >= 0 && index < bucketCount) counts[index]++;\n });\n\n const maxCount = Math.max(...counts, 1);\n\n return counts.map((count, index) => ({\n start: min + index * bucketSize,\n end: min + (index + 1) * bucketSize,\n count,\n maxCount,\n }));\n}\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Toaster.js","sources":["../../../Notifications/Toaster.tsx"],"sourcesContent":[null],"names":["_jsxs","_Fragment","_jsx"],"mappings":";;;;;;;AA0EA,MAAM,cAAc,GAAkC;AAClD,IAAA,MAAM,EAAE,GAAG;AACX,IAAA,OAAO,EAAE,GAAG;AACZ,IAAA,IAAI,EAAE,GAAG;AACT,IAAA,IAAI,EAAE,GAAG;AACT,IAAA,KAAK,EAAE,GAAG;AACV,IAAA,SAAS,EAAE,GAAG;AACd,IAAA,QAAQ,EAAE,GAAG;CAChB;AAED,MAAM,WAAW,GAAkB,EAAE;AACrC,MAAM,UAAU,GAAG,CAAC,GAAG,MAAiC,KACpD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AASpC,MAAM,UAAU,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,EAAmB,KAAI;IAC5E,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;AAC3C,IAAA,MAAM,IAAI,GAAG,aAAa,EAAE;IAE5B,SAAS,CAAC,MAAK;QACX,IAAI,MAAM,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC;YAAE;AACnD,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO;AACzC,QAAA,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAC3B,MAAK;AACD,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AACtB,YAAA,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAC3B;QACD,OAAO,MAAM,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC;IAC3C,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAE3B,IAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,QAAQ;IAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,KACvBA,IAAA,CAAAC,QAAA,EAAA,EAAA,QAAA,EAAA,CACK,IAAI,CAAC,KAAK,KACPC,GAAA,CAAA,KAAA,EAAA,EAAA,GACQ,EAAE,EAAE,KAAK,EACb,SAAS,EAAE,UAAU,CAAC,qBAAqB,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,EAAA,kBAAA,EACjD,OAAO,EAAA,QAAA,EAEvB,IAAI,CAAC,KAAK,EAAA,CACT,CACT,EACA,IAAI,CAAC,WAAW,KACbA,GAAA,CAAA,KAAA,EAAA,EAAA,GACQ,EAAE,EAAE,WAAW,EACnB,SAAS,EAAE,UAAU,CACjB,2BAA2B,EAC3B,EAAE,EAAE,WAAW,EAAE,SAAS,CAC7B,EAAA,kBAAA,EACgB,aAAa,YAE7B,IAAI,CAAC,WAAW,EAAA,CACf,CACT,EACA,IAAI,CAAC,MAAM,KACRA,GAAA,CAAA,QAAA,EAAA,EAAA,GACQ,IAAI,CAAC,MAAM,EAAA,GACX,EAAE,EAAE,MAAM,EACd,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,UAAU,CACjB,sBAAsB,EACtB,IAAI,CAAC,MAAM,CAAC,SAAS,EACrB,EAAE,EAAE,MAAM,EAAE,SAAS,CACxB,EAAA,kBAAA,EACgB,QAAQ,EAAA,CAC3B,CACL,CAAA,EAAA,CACF,CACN;AAED,IAAA,QACIF,IAAA,CAAA,SAAA,EAAA,EAAA,GACQ,EAAE,EAAE,KAAK,EACb,SAAS,EAAE,UAAU,CAAC,cAAc,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,EAAA,kBAAA,EAC1C,OAAO,EAAA,eAAA,EACT,QAAQ,kBACT,IAAI,CAAC,OAAO,IAAI,SAAS,eAC5B,IAAI,CAAC,OAAO,IAAI,SAAS,EACpC,IAAI,EAAE,QAAQ,KAAK,OAAO,GAAG,OAAO,GAAG,QAAQ,EAC/C,YAAY,EAAE,MAAM,SAAS,CAAC,IAAI,CAAC,EACnC,YAAY,EAAE,MAAM,SAAS,CAAC,KAAK,CAAC,EACpC,cAAc,EAAE,MAAM,SAAS,CAAC,IAAI,CAAC,EACrC,aAAa,EAAE,CAAC,KAAK,KAAI;YACrB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC;gBAAE,SAAS,CAAC,KAAK,CAAC;QAC5E,CAAC,EAAA,QAAA,EAAA,CAEDE,GAAA,CAAA,MAAA,EAAA,EAAA,GACQ,EAAE,EAAE,IAAI,EACZ,SAAS,EAAE,UAAU,CAAC,oBAAoB,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,EAAA,kBAAA,EAC/C,MAAM,EAAA,aAAA,EACX,MAAM,EAAA,QAAA,EAEjB,IAAI,CAAC;AACF,sBAAE;uBACC,IAAI,CAAC,IAAI,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAC,EAAA,CAC1C,EACPA,gBACQ,EAAE,EAAE,OAAO,EACf,SAAS,EAAE,UAAU,CAAC,uBAAuB,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,EAAA,kBAAA,EACrD,SAAS,EAAA,cAAA,EACZ,IAAI,CAAC,OAAO,IAAI,SAAS,EAAA,WAAA,EAC5B,IAAI,CAAC,OAAO,IAAI,SAAS,EAAA,QAAA,EAEnC,OAAO,EAAA,CACN,EACL,IAAI,CAAC,WAAW,KAAK,KAAK,KACvBA,GAAA,CAAA,QAAA,EAAA,EAAA,GACQ,EAAE,EAAE,KAAK,EACb,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,UAAU,CAAC,qBAAqB,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,EAAA,kBAAA,EACjD,OAAO,EAAA,YAAA,EACZ,EAAE,EAAE,KAAK,GAAG,YAAY,CAAC,IAAI,gBAAgB,EACzD,OAAO,EAAE,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAA,QAAA,EAErCA,GAAA,CAAA,MAAA,EAAA,EAAA,aAAA,EAAkB,MAAM,EAAA,QAAA,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,EAAA,CAAQ,EAAA,CAC/C,CACZ,CAAA,EAAA,CACK;AAElB,CAAC;AAGM,MAAM,OAAO,GAAG,CAAC,EACpB,QAAQ,GAAG,WAAW,EACtB,KAAK,GAAG,CAAC,EACT,OAAO,GAAG,IAAI,EACd,gBAAgB,EAChB,eAAe,EACf,EAAE,GACS,KAAI;AACf,IAAA,MAAM,EAAE,QAAQ,EAAE,GAAG,yBAAyB,EAAE;AAChD,IAAA,MAAM,qBAAqB,GAAG,QAAQ,EAAE,aAAa;IACrD,MAAM,wBAAwB,GAC1B,gBAAgB,IAAI,qBAAqB,EAAE,OAAO,IAAI,SAAS;IACnE,MAAM,uBAAuB,GACzB,eAAe,IAAI,qBAAqB,EAAE,MAAM,IAAI,eAAe;AACvE,IAAA,MAAM,KAAK,GAAG,oBAAoB,CAC9B,iBAAiB,EACjB,gBAAgB,EAChB,MAAM,WAAW,CACpB;IACD,IAAI,OAAO,QAAQ,KAAK,WAAW;AAAE,QAAA,OAAO,IAAI;AAEhD,IAAA,OAAO,YAAY,CACfA,GAAA,CAAA,KAAA,EAAA,EAAA,GACQ,EAAE,EAAE,MAAM,EACd,SAAS,EAAE,UAAU,CAAC,gBAAgB,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,EAAA,kBAAA,EAC7C,QAAQ,EAAA,eAAA,EACV,QAAQ,EACvB,IAAI,EAAC,QAAQ,EAAA,YAAA,EACD,uBAAuB,EAAA,WAAA,EACzB,QAAQ,EAAA,QAAA,EAEjB,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,MAC1BA,GAAA,CAAC,UAAU,EAAA,EAEP,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,wBAAwB,EAC1C,EAAE,EAAE,EAAE,EAAA,EAJD,IAAI,CAAC,EAAE,CAKd,CACL,CAAC,EAAA,CACA,EACN,QAAQ,CAAC,IAAI,CAChB;AACL;;"}
1
+ {"version":3,"file":"Toaster.js","sources":["../../../Notifications/Toaster.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport {\n useEffect,\n useState,\n useSyncExternalStore,\n type ButtonHTMLAttributes,\n type HTMLAttributes,\n} from 'react';\nimport { createPortal } from 'react-dom';\nimport { useCratisComponentsConfig } from '../configuration/CratisComponentsContext';\nimport { useCratisIcon } from '../configuration/useCratisIcon';\nimport {\n getToastSnapshot,\n subscribeToToasts,\n toast,\n type ToastRecord,\n type ToastSeverity,\n} from './toast';\nimport type { ExactPartKeys } from '../types/ExactPartKeys';\nimport type { PartsOf } from '../types/parts';\n\n/** Supported viewport positions for the global toast region. */\nexport type ToasterPosition =\n | 'top-left'\n | 'top-center'\n | 'top-right'\n | 'bottom-left'\n | 'bottom-center'\n | 'bottom-right';\n\n/** Stable part attributes for {@link Toaster}. */\nexport interface ToasterPassThrough {\n /** Accessible toast region. */\n region?: HTMLAttributes<HTMLDivElement>;\n /** One toast article. */\n toast?: HTMLAttributes<HTMLElement>;\n /** Severity/custom icon wrapper. */\n icon?: HTMLAttributes<HTMLSpanElement>;\n /** Toast content wrapper. */\n content?: HTMLAttributes<HTMLDivElement>;\n /** Toast title. */\n title?: HTMLAttributes<HTMLDivElement>;\n /** Toast description. */\n description?: HTMLAttributes<HTMLDivElement>;\n /** Dismiss button. */\n close?: ButtonHTMLAttributes<HTMLButtonElement>;\n /** Optional toast action button. */\n action?: ButtonHTMLAttributes<HTMLButtonElement>;\n}\n\nconst toasterPartsMatchManifest: ExactPartKeys<\n ToasterPassThrough,\n PartsOf<'Toaster'>\n> = true;\nvoid toasterPartsMatchManifest;\n\n/** Props for the global accessible toast region. */\nexport interface ToasterProps {\n /** Viewport position. */\n position?: ToasterPosition;\n /** Maximum visible toast count. */\n limit?: number;\n /** Default timeout in milliseconds. */\n timeout?: number;\n /** Accessible label for dismiss buttons. Falls back to the provider's `notifications.dismiss` message, then `'Dismiss'`. */\n dismissAriaLabel?: string;\n /** Accessible name for the toast region. Falls back to the provider's `notifications.region` message, then `'Notifications'`. */\n regionAriaLabel?: string;\n /** Stable part attributes. */\n pt?: ToasterPassThrough;\n}\n\nconst severitySymbol: Record<ToastSeverity, string> = {\n normal: '●',\n success: '✓',\n info: 'ⓘ',\n warn: '⚠',\n error: '⨯',\n secondary: '●',\n contrast: '●',\n};\n\nconst emptyToasts: ToastRecord[] = [];\nconst classNames = (...values: Array<string | undefined>) =>\n values.filter(Boolean).join(' ');\n\ninterface ToastFrameProps {\n item: ToastRecord;\n timeout: number;\n dismissAriaLabel: string;\n pt?: ToasterPassThrough;\n}\n\nconst ToastFrame = ({ item, timeout, dismissAriaLabel, pt }: ToastFrameProps) => {\n const [paused, setPaused] = useState(false);\n const icon = useCratisIcon();\n\n useEffect(() => {\n if (paused || item.loading || item.duration === 0) return;\n const duration = item.duration ?? timeout;\n const timer = window.setTimeout(\n () => {\n item.onTimeout?.(item);\n toast.dismiss(item.id);\n },\n Math.max(duration, 5000),\n );\n return () => window.clearTimeout(timer);\n }, [item, paused, timeout]);\n\n const severity = item.severity ?? 'normal';\n const content = item.render ?? (\n <>\n {item.title && (\n <div\n {...pt?.title}\n className={classNames('cratis-toast__title', pt?.title?.className)}\n data-cratis-part='title'\n >\n {item.title}\n </div>\n )}\n {item.description && (\n <div\n {...pt?.description}\n className={classNames(\n 'cratis-toast__description',\n pt?.description?.className,\n )}\n data-cratis-part='description'\n >\n {item.description}\n </div>\n )}\n {item.action && (\n <button\n {...item.action}\n {...pt?.action}\n type='button'\n className={classNames(\n 'cratis-toast__action',\n item.action.className,\n pt?.action?.className,\n )}\n data-cratis-part='action'\n />\n )}\n </>\n );\n\n return (\n <article\n {...pt?.toast}\n className={classNames('cratis-toast', pt?.toast?.className)}\n data-cratis-part='toast'\n data-severity={severity}\n data-loading={item.loading || undefined}\n data-busy={item.loading || undefined}\n role={severity === 'error' ? 'alert' : 'status'}\n onMouseEnter={() => setPaused(true)}\n onMouseLeave={() => setPaused(false)}\n onFocusCapture={() => setPaused(true)}\n onBlurCapture={(event) => {\n if (!event.currentTarget.contains(event.relatedTarget)) setPaused(false);\n }}\n >\n <span\n {...pt?.icon}\n className={classNames('cratis-toast__icon', pt?.icon?.className)}\n data-cratis-part='icon'\n aria-hidden='true'\n >\n {item.loading\n ? '◌'\n : (item.icon ?? severitySymbol[severity])}\n </span>\n <div\n {...pt?.content}\n className={classNames('cratis-toast__content', pt?.content?.className)}\n data-cratis-part='content'\n data-loading={item.loading || undefined}\n data-busy={item.loading || undefined}\n >\n {content}\n </div>\n {item.dismissible !== false && (\n <button\n {...pt?.close}\n type='button'\n className={classNames('cratis-toast__close', pt?.close?.className)}\n data-cratis-part='close'\n aria-label={pt?.close?.['aria-label'] ?? dismissAriaLabel}\n onClick={() => toast.dismiss(item.id)}\n >\n <span aria-hidden='true'>{icon('close', '×')}</span>\n </button>\n )}\n </article>\n );\n};\n\n/** App-wide accessible toast region backed by the Cratis-owned toast queue. */\nexport const Toaster = ({\n position = 'top-right',\n limit = 3,\n timeout = 6000,\n dismissAriaLabel,\n regionAriaLabel,\n pt,\n}: ToasterProps) => {\n const { messages } = useCratisComponentsConfig();\n const notificationsMessages = messages?.notifications;\n const resolvedDismissAriaLabel =\n dismissAriaLabel ?? notificationsMessages?.dismiss ?? 'Dismiss';\n const resolvedRegionAriaLabel =\n regionAriaLabel ?? notificationsMessages?.region ?? 'Notifications';\n const items = useSyncExternalStore(\n subscribeToToasts,\n getToastSnapshot,\n () => emptyToasts,\n );\n if (typeof document === 'undefined') return null;\n\n return createPortal(\n <div\n {...pt?.region}\n className={classNames('cratis-toaster', pt?.region?.className)}\n data-cratis-part='region'\n data-position={position}\n role='region'\n aria-label={resolvedRegionAriaLabel}\n aria-live='polite'\n >\n {items.slice(-limit).map((item) => (\n <ToastFrame\n key={item.id}\n item={item}\n timeout={timeout}\n dismissAriaLabel={resolvedDismissAriaLabel}\n pt={pt}\n />\n ))}\n </div>,\n document.body,\n );\n};\n"],"names":["_jsxs","_Fragment","_jsx"],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  export * from './Toaster.js';
2
2
  export * from './toast.js';
3
3
  export * from './toastCommandResult.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../Notifications/index.ts"],"names":[],"mappings":"AAGA,cAAc,cAAW,CAAC;AAC1B,cAAc,YAAS,CAAC;AACxB,cAAc,yBAAsB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"toast.js","sources":["../../../Notifications/toast.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toast.js","sources":["../../../Notifications/toast.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport type { ButtonHTMLAttributes, ReactElement, ReactNode } from 'react';\n\n/**\n * Visual severity level for a toast notification.\n * Determines the default styling and icon treatment when rendered by the Toaster component.\n */\nexport type ToastSeverity =\n 'normal' | 'success' | 'info' | 'warn' | 'error' | 'secondary' | 'contrast';\n\n/**\n * Unique identifier for a toast notification.\n * Can be explicitly provided via {@link ToastOptions.id} or auto-generated.\n */\nexport type ToastId = string | number;\n\n/**\n * Configuration options accepted by every toast notification call.\n * Merged with severity-specific defaults when using helpers like {@link toast.success}.\n */\nexport interface ToastOptions {\n /** Unique identifier for this toast. Auto-generated if omitted. */\n id?: ToastId;\n /** Primary heading text or element. Rendered prominently in the toast UI. */\n title?: ReactNode | string;\n /** Secondary body text or element. Rendered below the title. */\n description?: ReactNode | string;\n /** Action button props. Rendered as a clickable button in the toast. */\n action?: ButtonHTMLAttributes<HTMLButtonElement>;\n /** Whether the user can manually dismiss the toast. Defaults to true. */\n dismissible?: boolean;\n /** Visual severity level. Determines styling and default icon. */\n severity?: ToastSeverity;\n /** Whether to show a loading spinner. Typically used with {@link toast.promise}. */\n loading?: boolean;\n /** Custom icon element. Overrides the default severity-based icon. */\n icon?: ReactNode;\n /** Custom renderer. Fully replaces the default toast UI when provided. */\n render?: ReactElement;\n /** Auto-dismiss timeout in milliseconds. No auto-dismiss if omitted or zero. */\n duration?: number;\n /** Grouping key. Used to logically associate related toasts. */\n group?: string;\n /** The promise being tracked (internal, set automatically by {@link toast.promise}). */\n promise?: unknown;\n /** Arbitrary metadata. Available to custom renderers and lifecycle callbacks. */\n data?: Record<string, unknown>;\n /** Callback invoked when the toast is dismissed (manually or programmatically). */\n onDismiss?: (toast: ToastOptions) => void;\n /** Callback invoked when the toast auto-dismisses via duration timeout. */\n onTimeout?: (toast: ToastOptions) => void;\n}\n\n/**\n * Legacy alias for {@link ToastOptions}.\n * Preserved for source compatibility with earlier versions.\n */\nexport type ToastType = ToastOptions;\n\n/**\n * Options for {@link toast.promise}, which shows a loading toast and updates it based on promise outcome.\n * @typeParam T - The promise resolution type.\n */\nexport interface ToastPromiseOptions<T = unknown> {\n /** Toast shown immediately while the promise is pending. Automatically receives `loading: true`. */\n loading: ToastOptions;\n /** Toast shown on success. Can be a static config or a function receiving the resolved value. Returns void to dismiss instead of updating. */\n success?: ToastOptions | ((data: T) => ToastOptions | void);\n /** Toast shown on rejection. Can be a static config or a function receiving the error. Returns void to dismiss instead of updating. */\n error?: ToastOptions | ((error: unknown) => ToastOptions | void);\n}\n\n/**\n * Dispatch interface for toast operations.\n * Custom implementations can be installed via {@link setToastDispatch} to intercept all toast calls—\n * useful for testing, logging, or routing toasts to a different rendering surface.\n * The default implementation writes to an in-memory queue consumed by the mounted Toaster component.\n */\nexport interface ToastDispatch {\n /** Shows a toast with the provided options. Returns the toast ID. */\n show(options: ToastOptions): ToastId;\n /** Updates an existing toast by ID. Returns the toast ID. */\n update(id: ToastId, updates: Partial<ToastOptions>): ToastId;\n /** Dismisses one toast by ID, or all toasts if ID is omitted. */\n dismiss(id?: ToastId): void;\n /** Tracks a promise with loading/success/error toasts. Returns the original promise (passthrough). */\n promise<T>(promise: Promise<T>, options: ToastPromiseOptions<T>): Promise<T>;\n /** Shows a success-severity toast. Shorthand for `show({ ...options, severity: 'success' })`. */\n success(options: ToastOptions): ToastId;\n /** Shows an info-severity toast. Shorthand for `show({ ...options, severity: 'info' })`. */\n info(options: ToastOptions): ToastId;\n /** Shows a warn-severity toast. Shorthand for `show({ ...options, severity: 'warn' })`. */\n warn(options: ToastOptions): ToastId;\n /** Shows an error-severity toast. Shorthand for `show({ ...options, severity: 'error' })`. */\n error(options: ToastOptions): ToastId;\n /** Shows a secondary-severity toast. Shorthand for `show({ ...options, severity: 'secondary' })`. */\n secondary(options: ToastOptions): ToastId;\n /** Shows a contrast-severity toast. Shorthand for `show({ ...options, severity: 'contrast' })`. */\n contrast(options: ToastOptions): ToastId;\n}\n\n/**\n * The callable signature and helper methods of the {@link toast} export.\n * All methods delegate to the currently active {@link ToastDispatch} (default queue-backed or custom override).\n */\nexport interface ToastFunction {\n /** Call signature: shows a toast with the provided options. Equivalent to `toast.show(options)`. */\n (options: ToastOptions): ToastId;\n /** Updates an existing toast by ID. Returns the toast ID. */\n update(id: ToastId, updates: Partial<ToastOptions>): ToastId;\n /** Dismisses one toast by ID, or all toasts if ID is omitted. */\n dismiss(id?: ToastId): void;\n /** Tracks a promise with loading/success/error toasts. Returns the original promise (passthrough). */\n promise<T>(promise: Promise<T>, options: ToastPromiseOptions<T>): Promise<T>;\n /** Shows a success-severity toast. Shorthand for `show({ ...options, severity: 'success' })`. */\n success(options: ToastOptions): ToastId;\n /** Shows an info-severity toast. Shorthand for `show({ ...options, severity: 'info' })`. */\n info(options: ToastOptions): ToastId;\n /** Shows a warn-severity toast. Shorthand for `show({ ...options, severity: 'warn' })`. */\n warn(options: ToastOptions): ToastId;\n /** Shows an error-severity toast. Shorthand for `show({ ...options, severity: 'error' })`. */\n error(options: ToastOptions): ToastId;\n /** Shows a secondary-severity toast. Shorthand for `show({ ...options, severity: 'secondary' })`. */\n secondary(options: ToastOptions): ToastId;\n /** Shows a contrast-severity toast. Shorthand for `show({ ...options, severity: 'contrast' })`. */\n contrast(options: ToastOptions): ToastId;\n}\n\n/**\n * The complete shape of a toast notification stored in the global queue.\n * Extends {@link ToastOptions} with a guaranteed `id` property.\n * Custom rendering surfaces can access the queue via {@link subscribeToToasts} and {@link getToastSnapshot}\n * without importing the default Toaster component.\n */\nexport interface ToastRecord extends ToastOptions {\n /** Unique identifier for this toast. Always present on stored records (auto-generated if not provided). */\n id: ToastId;\n}\n\ninterface ToastStore {\n items: ToastRecord[];\n listeners: Set<() => void>;\n nextId: number;\n}\n\nconst storeKey = Symbol.for('@cratis/components/toast-store/v1');\n// SAFETY: Symbol.for lets multiple loaded Components copies share one app-wide queue.\nconst storeHost = globalThis as unknown as Record<symbol, ToastStore | undefined>;\nconst store = (storeHost[storeKey] ??= { items: [], listeners: new Set(), nextId: 1 });\nconst emit = () => store.listeners.forEach((listener) => listener());\n\n/** Subscribes a mounted toaster to the app-wide queue. */\nexport const subscribeToToasts = (listener: () => void): (() => void) => {\n store.listeners.add(listener);\n return () => store.listeners.delete(listener);\n};\n\n/** Returns the current immutable queue snapshot. */\nexport const getToastSnapshot = (): ToastRecord[] => store.items;\n\nconst show = (options: ToastOptions): ToastId => {\n const id = options.id ?? store.nextId++;\n const record = { ...options, id };\n const existing = store.items.findIndex((item) => item.id === id);\n store.items =\n existing >= 0\n ? store.items.map((item) => (item.id === id ? record : item))\n : [...store.items, record];\n emit();\n return id;\n};\n\nconst update = (id: ToastId, updates: Partial<ToastOptions>): ToastId => {\n store.items = store.items.map((item) =>\n item.id === id ? { ...item, ...updates, id } : item,\n );\n emit();\n return id;\n};\n\nconst dismiss = (id?: ToastId) => {\n const removed =\n id === undefined ? store.items : store.items.filter((item) => item.id === id);\n removed.forEach((item) => item.onDismiss?.(item));\n store.items = id === undefined ? [] : store.items.filter((item) => item.id !== id);\n emit();\n};\n\nconst promise = async <T>(\n work: Promise<T>,\n options: ToastPromiseOptions<T>,\n): Promise<T> => {\n const id = show({ ...options.loading, loading: true });\n try {\n const data = await work;\n const resolved =\n typeof options.success === 'function'\n ? options.success(data)\n : options.success;\n if (resolved) update(id, { ...resolved, loading: false });\n else dismiss(id);\n return data;\n } catch (error) {\n const resolved =\n typeof options.error === 'function' ? options.error(error) : options.error;\n if (resolved) update(id, { ...resolved, loading: false });\n else dismiss(id);\n throw error;\n }\n};\n\nconst withSeverity = (severity: ToastSeverity) => (options: ToastOptions) =>\n show({ ...options, severity });\n\nconst defaultToastDispatch: ToastDispatch = {\n show,\n update,\n dismiss,\n promise,\n success: withSeverity('success'),\n info: withSeverity('info'),\n warn: withSeverity('warn'),\n error: withSeverity('error'),\n secondary: withSeverity('secondary'),\n contrast: withSeverity('contrast'),\n};\n\ninterface ToastDispatchFrame {\n dispatch: ToastDispatch;\n previous?: ToastDispatchFrame;\n removed: boolean;\n}\n\ninterface ToastDispatchRegistry {\n active?: ToastDispatchFrame;\n}\n\nconst dispatchRegistryKey = Symbol.for('@cratis/components/toast-dispatch/v1');\n// SAFETY: Symbol.for gives every loaded Components copy the same isolated dispatch slot.\nconst dispatchHost = globalThis as unknown as Record<\n symbol,\n ToastDispatchRegistry | undefined\n>;\nconst dispatchRegistry = (dispatchHost[dispatchRegistryKey] ??= {});\n\nconst nearestActiveFrame = (\n frame: ToastDispatchFrame | undefined,\n): ToastDispatchFrame | undefined => {\n let current = frame;\n while (current?.removed) current = current.previous;\n return current;\n};\n\n/**\n * Installs a custom {@link ToastDispatch} implementation that shadows the default queue-backed dispatch.\n * All subsequent `toast(...)` calls route through the provided dispatch until the returned cleanup function is invoked.\n * Dispatch frames are stack-based: nested calls compose, and removing a frame restores the previous one.\n * Useful for testing (intercept/assert toast calls), logging, or routing toasts to an alternative UI.\n *\n * @param dispatch - The custom dispatch implementation to install.\n * @returns A cleanup function that removes this dispatch frame and restores the previous active dispatch.\n *\n * @example\n * ```ts\n * const cleanup = setToastDispatch({\n * show: (opts) => { console.log('toast:', opts); return 'test-id'; },\n * // ... other ToastDispatch methods\n * });\n * toast({ title: 'Hello' }); // logs instead of queuing\n * cleanup(); // restores default behavior\n * ```\n */\nexport const setToastDispatch = (dispatch: ToastDispatch): (() => void) => {\n const frame: ToastDispatchFrame = {\n dispatch,\n previous: dispatchRegistry.active,\n removed: false,\n };\n dispatchRegistry.active = frame;\n\n return () => {\n if (frame.removed) return;\n frame.removed = true;\n if (dispatchRegistry.active === frame) {\n dispatchRegistry.active = nearestActiveFrame(frame.previous);\n }\n };\n};\n\nconst activeToastDispatch = () =>\n nearestActiveFrame(dispatchRegistry.active)?.dispatch ?? defaultToastDispatch;\n\nconst callableToast = ((options: ToastOptions) =>\n activeToastDispatch().show(options)) as ToastFunction;\ncallableToast.update = (id, updates) => activeToastDispatch().update(id, updates);\ncallableToast.dismiss = (id) => activeToastDispatch().dismiss(id);\ncallableToast.promise = (work, options) => activeToastDispatch().promise(work, options);\ncallableToast.success = (options) => activeToastDispatch().success(options);\ncallableToast.info = (options) => activeToastDispatch().info(options);\ncallableToast.warn = (options) => activeToastDispatch().warn(options);\ncallableToast.error = (options) => activeToastDispatch().error(options);\ncallableToast.secondary = (options) => activeToastDispatch().secondary(options);\ncallableToast.contrast = (options) => activeToastDispatch().contrast(options);\n\n/** Cratis-owned imperative toast API. Mount one {@link Toaster} in the application root. */\nexport const toast: ToastFunction = callableToast;\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"toastCommandResult.js","sources":["../../../Notifications/toastCommandResult.ts"],"sourcesContent":[null],"names":[],"mappings":";;SAgDgB,kBAAkB,CAC9B,MAAiC,EACjC,UAAqC,EAAE,EAAA;IAEvC,MAAM,EACF,YAAY,GAAG,SAAS,EACxB,kBAAkB,EAClB,iBAAiB,GAAG,gBAAgB,EACpC,eAAe,GAAG,mBAAmB,EACrC,cAAc,GAAG,sBAAsB,EACvC,WAAW,GAAG,IAAI,GACrB,GAAG,OAAO;AAEX,IAAA,IAAI,MAAM,CAAC,SAAS,EAAE;QAClB,IAAI,WAAW,EAAE;AACb,YAAA,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC;QAC3E;AACA,QAAA,OAAO,IAAI;IACf;AAEA,IAAA,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;QACtB,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC;AACxC,QAAA,OAAO,KAAK;IAChB;AAEA,IAAA,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;AACjB,QAAA,MAAM,WAAW,GAAG,MAAM,CAAC;aACtB,GAAG,CAAC,CAAC,gBAAgB,KAAK,gBAAgB,CAAC,OAAO;aAClD,MAAM,CAAC,OAAO;aACd,IAAI,CAAC,IAAI,CAAC;AACf,QAAA,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,IAAI,SAAS,EAAE,CAAC;AAC9E,QAAA,OAAO,KAAK;IAChB;AAEA,IAAA,IAAI,MAAM,CAAC,aAAa,EAAE;QACtB,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;AACtC,QAAA,OAAO,KAAK;IAChB;AAEA,IAAA,OAAO,KAAK;AAChB;;"}
1
+ {"version":3,"file":"toastCommandResult.js","sources":["../../../Notifications/toastCommandResult.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport type { ICommandResult } from '@cratis/arc/commands';\nimport { toast } from './toast';\n\n/** Options for {@link toastCommandResult}. */\nexport interface ToastCommandResultOptions {\n /** Title for the success toast. Defaults to `'Success'`. */\n successTitle?: string;\n /** Description for the success toast. */\n successDescription?: string;\n /** Title when the command was rejected by authorization. Defaults to `'Not authorized'`. */\n unauthorizedTitle?: string;\n /** Title when the command failed validation. Defaults to `'Validation failed'`. */\n validationTitle?: string;\n /** Title when the command threw. Defaults to `'Something went wrong'`. */\n exceptionTitle?: string;\n /** When false, no toast is shown on success. Defaults to `true`. */\n showSuccess?: boolean;\n}\n\n/**\n * Surfaces an Arc {@link ICommandResult} as a toast, mapping the granular\n * result flags to the right severity — the same branching Arc apps do when\n * executing a command outside a `CommandDialog`:\n *\n * - **success** → a success toast (suppress with `showSuccess: false`);\n * - **not authorized** → a warning toast;\n * - **invalid** → an error toast listing the per-field validation messages;\n * - **exceptions** → a generic error toast (stack traces are never shown to\n * users — log `result.exceptionMessages` yourself).\n *\n * Requires a {@link Toaster} mounted in the tree. Returns `true` on success so\n * callers can gate follow-up work (close a panel, refresh a query).\n *\n * ```tsx\n * const result = await command.execute();\n * if (toastCommandResult(result, { successTitle: 'Author registered' })) {\n * refresh();\n * }\n * ```\n *\n * @typeParam TResponse - The command response type.\n * @param result - The command result to surface.\n * @param options - {@link ToastCommandResultOptions}.\n * @returns `true` when the command succeeded, otherwise `false`.\n */\nexport function toastCommandResult<TResponse = object>(\n result: ICommandResult<TResponse>,\n options: ToastCommandResultOptions = {},\n): boolean {\n const {\n successTitle = 'Success',\n successDescription,\n unauthorizedTitle = 'Not authorized',\n validationTitle = 'Validation failed',\n exceptionTitle = 'Something went wrong',\n showSuccess = true,\n } = options;\n\n if (result.isSuccess) {\n if (showSuccess) {\n toast.success({ title: successTitle, description: successDescription });\n }\n return true;\n }\n\n if (!result.isAuthorized) {\n toast.warn({ title: unauthorizedTitle });\n return false;\n }\n\n if (!result.isValid) {\n const description = result.validationResults\n .map((validationResult) => validationResult.message)\n .filter(Boolean)\n .join('\\n');\n toast.error({ title: validationTitle, description: description || undefined });\n return false;\n }\n\n if (result.hasExceptions) {\n toast.error({ title: exceptionTitle });\n return false;\n }\n\n return false;\n}\n"],"names":[],"mappings":";;SAgDgB,kBAAkB,CAC9B,MAAiC,EACjC,UAAqC,EAAE,EAAA;IAEvC,MAAM,EACF,YAAY,GAAG,SAAS,EACxB,kBAAkB,EAClB,iBAAiB,GAAG,gBAAgB,EACpC,eAAe,GAAG,mBAAmB,EACrC,cAAc,GAAG,sBAAsB,EACvC,WAAW,GAAG,IAAI,GACrB,GAAG,OAAO;AAEX,IAAA,IAAI,MAAM,CAAC,SAAS,EAAE;QAClB,IAAI,WAAW,EAAE;AACb,YAAA,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC;QAC3E;AACA,QAAA,OAAO,IAAI;IACf;AAEA,IAAA,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;QACtB,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC;AACxC,QAAA,OAAO,KAAK;IAChB;AAEA,IAAA,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;AACjB,QAAA,MAAM,WAAW,GAAG,MAAM,CAAC;aACtB,GAAG,CAAC,CAAC,gBAAgB,KAAK,gBAAgB,CAAC,OAAO;aAClD,MAAM,CAAC,OAAO;aACd,IAAI,CAAC,IAAI,CAAC;AACf,QAAA,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,IAAI,SAAS,EAAE,CAAC;AAC9E,QAAA,OAAO,KAAK;IAChB;AAEA,IAAA,IAAI,MAAM,CAAC,aAAa,EAAE;QACtB,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;AACtC,QAAA,OAAO,KAAK;IAChB;AAEA,IAAA,OAAO,KAAK;AAChB;;"}
@@ -52,3 +52,4 @@ export interface ObjectContentEditorProps {
52
52
  * @param props - {@link ObjectContentEditorProps}.
53
53
  */
54
54
  export declare const ObjectContentEditor: ({ object, timestamp, schema, editMode, onChange, onValidationChange, className, }: ObjectContentEditorProps) => React.JSX.Element;
55
+ //# sourceMappingURL=ObjectContentEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObjectContentEditor.d.ts","sourceRoot":"","sources":["../../../ObjectContentEditor/ObjectContentEditor.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAGzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAAwB,CAAC;AAE5D,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAsB,MAAM,wBAAqB,CAAC;AAKhF;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACrC,yCAAyC;IACzC,MAAM,EAAE,IAAI,CAAC;IAEb,yEAAyE;IACzE,SAAS,CAAC,EAAE,IAAI,CAAC;IAEjB;;;;OAIG;IACH,MAAM,EAAE,UAAU,CAAC;IAEnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;IAE/B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAElD;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,mBAAmB,sFAQ7B,wBAAwB,sBA+lB1B,CAAC"}