@mattermost/compass-ui 0.1.0-alpha.27 → 0.1.0-alpha.29

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 (373) hide show
  1. package/dist/compass-ui.css +20 -2
  2. package/dist/components/admin-console-footer/AdminConsoleFooter.css +1 -1
  3. package/dist/components/admin-console-footer/AdminConsoleFooter.module.scss.cjs +1 -1
  4. package/dist/components/admin-console-footer/AdminConsoleFooter.module.scss.js +7 -7
  5. package/dist/components/admin-console-header/AdminConsoleHeader.css +1 -1
  6. package/dist/components/admin-console-header/AdminConsoleHeader.module.scss.cjs +1 -1
  7. package/dist/components/admin-console-header/AdminConsoleHeader.module.scss.js +8 -8
  8. package/dist/components/admin-panel/AdminPanel.css +1 -1
  9. package/dist/components/admin-panel/AdminPanel.module.scss.cjs +1 -1
  10. package/dist/components/admin-panel/AdminPanel.module.scss.js +5 -5
  11. package/dist/components/admin-panel-footer/AdminPanelFooter.css +1 -1
  12. package/dist/components/admin-panel-footer/AdminPanelFooter.module.scss.cjs +1 -1
  13. package/dist/components/admin-panel-footer/AdminPanelFooter.module.scss.js +5 -5
  14. package/dist/components/admin-panel-header/AdminPanelHeader.cjs +1 -1
  15. package/dist/components/admin-panel-header/AdminPanelHeader.cjs.map +1 -1
  16. package/dist/components/admin-panel-header/AdminPanelHeader.css +1 -1
  17. package/dist/components/admin-panel-header/AdminPanelHeader.d.ts +6 -0
  18. package/dist/components/admin-panel-header/AdminPanelHeader.d.ts.map +1 -1
  19. package/dist/components/admin-panel-header/AdminPanelHeader.js +145 -109
  20. package/dist/components/admin-panel-header/AdminPanelHeader.js.map +1 -1
  21. package/dist/components/admin-panel-header/AdminPanelHeader.module.scss.cjs +1 -1
  22. package/dist/components/admin-panel-header/AdminPanelHeader.module.scss.js +11 -10
  23. package/dist/components/admin-panel-header/AdminPanelHeader.module.scss.js.map +1 -1
  24. package/dist/components/attachment-card/AttachmentCard.css +1 -1
  25. package/dist/components/attachment-card/AttachmentCard.module.scss.cjs +1 -1
  26. package/dist/components/attachment-card/AttachmentCard.module.scss.js +22 -19
  27. package/dist/components/attachment-card/AttachmentCard.module.scss.js.map +1 -1
  28. package/dist/components/button/Button.css +1 -1
  29. package/dist/components/button/Button.module.scss.cjs +1 -1
  30. package/dist/components/button/Button.module.scss.js +20 -19
  31. package/dist/components/button/Button.module.scss.js.map +1 -1
  32. package/dist/components/card-button/CardButton.css +1 -1
  33. package/dist/components/card-button/CardButton.module.scss.cjs +1 -1
  34. package/dist/components/card-button/CardButton.module.scss.js +7 -7
  35. package/dist/components/card-button/CardButtonGroup.css +1 -1
  36. package/dist/components/card-button/CardButtonGroup.module.scss.cjs +1 -1
  37. package/dist/components/card-button/CardButtonGroup.module.scss.js +1 -1
  38. package/dist/components/channel-info-msg-header/ChannelInfoMsgHeader.css +1 -1
  39. package/dist/components/channel-info-msg-header/ChannelInfoMsgHeader.module.scss.cjs +1 -1
  40. package/dist/components/channel-info-msg-header/ChannelInfoMsgHeader.module.scss.js +8 -8
  41. package/dist/components/channel-sidebar-item/ChannelSidebarItem.cjs +1 -1
  42. package/dist/components/channel-sidebar-item/ChannelSidebarItem.cjs.map +1 -1
  43. package/dist/components/channel-sidebar-item/ChannelSidebarItem.css +1 -1
  44. package/dist/components/channel-sidebar-item/ChannelSidebarItem.d.ts +66 -7
  45. package/dist/components/channel-sidebar-item/ChannelSidebarItem.d.ts.map +1 -1
  46. package/dist/components/channel-sidebar-item/ChannelSidebarItem.js +163 -93
  47. package/dist/components/channel-sidebar-item/ChannelSidebarItem.js.map +1 -1
  48. package/dist/components/channel-sidebar-item/ChannelSidebarItem.module.scss.cjs +1 -1
  49. package/dist/components/channel-sidebar-item/ChannelSidebarItem.module.scss.js +35 -22
  50. package/dist/components/channel-sidebar-item/ChannelSidebarItem.module.scss.js.map +1 -1
  51. package/dist/components/checkbox/Checkbox.css +1 -1
  52. package/dist/components/checkbox/Checkbox.module.scss.cjs +1 -1
  53. package/dist/components/checkbox/Checkbox.module.scss.js +7 -7
  54. package/dist/components/chip/Chip.cjs +1 -1
  55. package/dist/components/chip/Chip.cjs.map +1 -1
  56. package/dist/components/chip/Chip.css +1 -1
  57. package/dist/components/chip/Chip.d.ts.map +1 -1
  58. package/dist/components/chip/Chip.js +8 -8
  59. package/dist/components/chip/Chip.js.map +1 -1
  60. package/dist/components/chip/Chip.module.scss.cjs +1 -1
  61. package/dist/components/chip/Chip.module.scss.js +13 -10
  62. package/dist/components/chip/Chip.module.scss.js.map +1 -1
  63. package/dist/components/chip/ChipGroup.cjs +1 -1
  64. package/dist/components/chip/ChipGroup.cjs.map +1 -1
  65. package/dist/components/chip/ChipGroup.css +1 -1
  66. package/dist/components/chip/ChipGroup.d.ts +1 -1
  67. package/dist/components/chip/ChipGroup.d.ts.map +1 -1
  68. package/dist/components/chip/ChipGroup.js +30 -30
  69. package/dist/components/chip/ChipGroup.js.map +1 -1
  70. package/dist/components/chip/ChipGroup.module.scss.cjs +1 -1
  71. package/dist/components/chip/ChipGroup.module.scss.js +1 -1
  72. package/dist/components/combobox/Combobox.cjs +1 -1
  73. package/dist/components/combobox/Combobox.cjs.map +1 -1
  74. package/dist/components/combobox/Combobox.css +1 -1
  75. package/dist/components/combobox/Combobox.d.ts +10 -0
  76. package/dist/components/combobox/Combobox.d.ts.map +1 -1
  77. package/dist/components/combobox/Combobox.js +269 -252
  78. package/dist/components/combobox/Combobox.js.map +1 -1
  79. package/dist/components/combobox/Combobox.module.scss.cjs +1 -1
  80. package/dist/components/combobox/Combobox.module.scss.js +34 -31
  81. package/dist/components/combobox/Combobox.module.scss.js.map +1 -1
  82. package/dist/components/date-range-picker/DateRangePicker.cjs +1 -1
  83. package/dist/components/date-range-picker/DateRangePicker.cjs.map +1 -1
  84. package/dist/components/date-range-picker/DateRangePicker.css +1 -1
  85. package/dist/components/date-range-picker/DateRangePicker.d.ts +14 -1
  86. package/dist/components/date-range-picker/DateRangePicker.d.ts.map +1 -1
  87. package/dist/components/date-range-picker/DateRangePicker.js +217 -195
  88. package/dist/components/date-range-picker/DateRangePicker.js.map +1 -1
  89. package/dist/components/date-range-picker/DateRangePicker.module.scss.cjs +1 -1
  90. package/dist/components/date-range-picker/DateRangePicker.module.scss.js +29 -26
  91. package/dist/components/date-range-picker/DateRangePicker.module.scss.js.map +1 -1
  92. package/dist/components/divider/Divider.css +1 -1
  93. package/dist/components/divider/Divider.module.scss.cjs +1 -1
  94. package/dist/components/divider/Divider.module.scss.js +1 -1
  95. package/dist/components/dropdown/Dropdown.css +1 -1
  96. package/dist/components/dropdown/Dropdown.module.scss.cjs +1 -1
  97. package/dist/components/dropdown/Dropdown.module.scss.js +23 -22
  98. package/dist/components/dropdown/Dropdown.module.scss.js.map +1 -1
  99. package/dist/components/emoji/Emoji.css +1 -1
  100. package/dist/components/emoji/Emoji.module.scss.cjs +1 -1
  101. package/dist/components/emoji/Emoji.module.scss.js +12 -12
  102. package/dist/components/emoji-button/EmojiButton.css +1 -1
  103. package/dist/components/emoji-button/EmojiButton.module.scss.cjs +1 -1
  104. package/dist/components/emoji-button/EmojiButton.module.scss.js +12 -9
  105. package/dist/components/emoji-button/EmojiButton.module.scss.js.map +1 -1
  106. package/dist/components/emoji-popover/EmojiPopover.css +1 -1
  107. package/dist/components/emoji-popover/EmojiPopover.module.scss.cjs +1 -1
  108. package/dist/components/emoji-popover/EmojiPopover.module.scss.js +21 -21
  109. package/dist/components/empty-state/EmptyState.css +1 -1
  110. package/dist/components/empty-state/EmptyState.module.scss.cjs +1 -1
  111. package/dist/components/empty-state/EmptyState.module.scss.js +7 -7
  112. package/dist/components/feature-discovery-panel/FeatureDiscoveryPanel.css +1 -1
  113. package/dist/components/feature-discovery-panel/FeatureDiscoveryPanel.module.scss.cjs +1 -1
  114. package/dist/components/feature-discovery-panel/FeatureDiscoveryPanel.module.scss.js +9 -9
  115. package/dist/components/field/FieldClearButton.css +1 -1
  116. package/dist/components/field/FieldClearButton.module.scss.cjs +1 -1
  117. package/dist/components/field/FieldClearButton.module.scss.js +3 -3
  118. package/dist/components/field-message/FieldMessage.css +1 -1
  119. package/dist/components/field-message/FieldMessage.module.scss.cjs +1 -1
  120. package/dist/components/field-message/FieldMessage.module.scss.js +7 -7
  121. package/dist/components/global-banner/GlobalBanner.css +1 -1
  122. package/dist/components/global-banner/GlobalBanner.module.scss.cjs +1 -1
  123. package/dist/components/global-banner/GlobalBanner.module.scss.js +10 -10
  124. package/dist/components/icon/Icon.css +1 -1
  125. package/dist/components/icon/Icon.module.scss.cjs +1 -1
  126. package/dist/components/icon/Icon.module.scss.js +13 -13
  127. package/dist/components/icon-button/IconButton.css +1 -1
  128. package/dist/components/icon-button/IconButton.module.scss.cjs +1 -1
  129. package/dist/components/icon-button/IconButton.module.scss.js +19 -16
  130. package/dist/components/icon-button/IconButton.module.scss.js.map +1 -1
  131. package/dist/components/illustration/Illustration.css +1 -1
  132. package/dist/components/illustration/Illustration.module.scss.cjs +1 -1
  133. package/dist/components/illustration/Illustration.module.scss.js +1 -1
  134. package/dist/components/image-preview/ImagePreview.css +1 -1
  135. package/dist/components/image-preview/ImagePreview.module.scss.cjs +1 -1
  136. package/dist/components/image-preview/ImagePreview.module.scss.js +15 -15
  137. package/dist/components/link-preview/LinkPreview.css +1 -1
  138. package/dist/components/link-preview/LinkPreview.module.scss.cjs +1 -1
  139. package/dist/components/link-preview/LinkPreview.module.scss.js +14 -14
  140. package/dist/components/mention-badge/MentionBadge.css +1 -1
  141. package/dist/components/mention-badge/MentionBadge.module.scss.cjs +1 -1
  142. package/dist/components/mention-badge/MentionBadge.module.scss.js +9 -9
  143. package/dist/components/menu-group-heading/MenuGroupHeading.css +1 -1
  144. package/dist/components/menu-group-heading/MenuGroupHeading.module.scss.cjs +1 -1
  145. package/dist/components/menu-group-heading/MenuGroupHeading.module.scss.js +2 -2
  146. package/dist/components/menu-item/MenuItem.css +1 -1
  147. package/dist/components/menu-item/MenuItem.module.scss.cjs +1 -1
  148. package/dist/components/menu-item/MenuItem.module.scss.js +18 -18
  149. package/dist/components/message-actions/MessageActions.css +1 -1
  150. package/dist/components/message-actions/MessageActions.module.scss.cjs +1 -1
  151. package/dist/components/message-actions/MessageActions.module.scss.js +2 -2
  152. package/dist/components/message-header/MessageHeader.css +1 -1
  153. package/dist/components/message-header/MessageHeader.module.scss.cjs +1 -1
  154. package/dist/components/message-header/MessageHeader.module.scss.js +3 -3
  155. package/dist/components/message-separator/MessageSeparator.css +1 -1
  156. package/dist/components/message-separator/MessageSeparator.module.scss.cjs +1 -1
  157. package/dist/components/message-separator/MessageSeparator.module.scss.js +11 -11
  158. package/dist/components/modal/Modal.cjs +1 -1
  159. package/dist/components/modal/Modal.cjs.map +1 -1
  160. package/dist/components/modal/Modal.css +1 -1
  161. package/dist/components/modal/Modal.d.ts +11 -1
  162. package/dist/components/modal/Modal.d.ts.map +1 -1
  163. package/dist/components/modal/Modal.js +38 -36
  164. package/dist/components/modal/Modal.js.map +1 -1
  165. package/dist/components/modal/Modal.module.scss.cjs +1 -1
  166. package/dist/components/modal/Modal.module.scss.js +11 -11
  167. package/dist/components/modal/ModalOverlay.cjs.map +1 -1
  168. package/dist/components/modal/ModalOverlay.css +1 -1
  169. package/dist/components/modal/ModalOverlay.d.ts +1 -1
  170. package/dist/components/modal/ModalOverlay.js.map +1 -1
  171. package/dist/components/modal/ModalOverlay.module.scss.cjs +1 -1
  172. package/dist/components/modal/ModalOverlay.module.scss.js +5 -5
  173. package/dist/components/modal-footer/ModalFooter.css +1 -1
  174. package/dist/components/modal-footer/ModalFooter.module.scss.cjs +1 -1
  175. package/dist/components/modal-footer/ModalFooter.module.scss.js +11 -11
  176. package/dist/components/modal-header/ModalHeader.cjs +1 -1
  177. package/dist/components/modal-header/ModalHeader.cjs.map +1 -1
  178. package/dist/components/modal-header/ModalHeader.css +1 -1
  179. package/dist/components/modal-header/ModalHeader.d.ts +13 -3
  180. package/dist/components/modal-header/ModalHeader.d.ts.map +1 -1
  181. package/dist/components/modal-header/ModalHeader.js +61 -55
  182. package/dist/components/modal-header/ModalHeader.js.map +1 -1
  183. package/dist/components/modal-header/ModalHeader.module.scss.cjs +1 -1
  184. package/dist/components/modal-header/ModalHeader.module.scss.js +18 -16
  185. package/dist/components/modal-header/ModalHeader.module.scss.js.map +1 -1
  186. package/dist/components/more-unreads-banner/MoreUnreadsBanner.css +1 -1
  187. package/dist/components/more-unreads-banner/MoreUnreadsBanner.module.scss.cjs +1 -1
  188. package/dist/components/more-unreads-banner/MoreUnreadsBanner.module.scss.js +8 -5
  189. package/dist/components/more-unreads-banner/MoreUnreadsBanner.module.scss.js.map +1 -1
  190. package/dist/components/new-message-banner/NewMessageBanner.css +1 -1
  191. package/dist/components/new-message-banner/NewMessageBanner.module.scss.cjs +1 -1
  192. package/dist/components/new-message-banner/NewMessageBanner.module.scss.js +9 -9
  193. package/dist/components/pagination-dots/PaginationDots.css +1 -1
  194. package/dist/components/pagination-dots/PaginationDots.module.scss.cjs +1 -1
  195. package/dist/components/pagination-dots/PaginationDots.module.scss.js +10 -10
  196. package/dist/components/password-input/PasswordInput.css +1 -1
  197. package/dist/components/password-input/PasswordInput.module.scss.cjs +1 -1
  198. package/dist/components/password-input/PasswordInput.module.scss.js +15 -14
  199. package/dist/components/password-input/PasswordInput.module.scss.js.map +1 -1
  200. package/dist/components/permalink-preview/PermalinkPreview.css +1 -1
  201. package/dist/components/permalink-preview/PermalinkPreview.module.scss.cjs +1 -1
  202. package/dist/components/permalink-preview/PermalinkPreview.module.scss.js +13 -13
  203. package/dist/components/pinned-saved-indicators/PinnedSavedIndicators.css +1 -1
  204. package/dist/components/pinned-saved-indicators/PinnedSavedIndicators.module.scss.cjs +1 -1
  205. package/dist/components/pinned-saved-indicators/PinnedSavedIndicators.module.scss.js +7 -7
  206. package/dist/components/popover-menu/PopoverMenu.css +1 -1
  207. package/dist/components/popover-menu/PopoverMenu.module.scss.cjs +1 -1
  208. package/dist/components/popover-menu/PopoverMenu.module.scss.js +13 -13
  209. package/dist/components/popover-notice/PopoverNotice.css +1 -1
  210. package/dist/components/popover-notice/PopoverNotice.module.scss.cjs +1 -1
  211. package/dist/components/popover-notice/PopoverNotice.module.scss.js +14 -14
  212. package/dist/components/profile-popover/ProfilePopover.css +1 -1
  213. package/dist/components/profile-popover/ProfilePopover.module.scss.cjs +1 -1
  214. package/dist/components/profile-popover/ProfilePopover.module.scss.js +33 -33
  215. package/dist/components/progress-bar/ProgressBar.css +1 -1
  216. package/dist/components/progress-bar/ProgressBar.module.scss.cjs +1 -1
  217. package/dist/components/progress-bar/ProgressBar.module.scss.js +9 -9
  218. package/dist/components/radio/Radio.css +1 -1
  219. package/dist/components/radio/Radio.module.scss.cjs +1 -1
  220. package/dist/components/radio/Radio.module.scss.js +12 -12
  221. package/dist/components/reaction-button/ReactionButton.css +1 -1
  222. package/dist/components/reaction-button/ReactionButton.module.scss.cjs +1 -1
  223. package/dist/components/reaction-button/ReactionButton.module.scss.js +8 -8
  224. package/dist/components/reactions-row/ReactionsRow.css +1 -1
  225. package/dist/components/reactions-row/ReactionsRow.module.scss.cjs +1 -1
  226. package/dist/components/reactions-row/ReactionsRow.module.scss.js +8 -8
  227. package/dist/components/right-sidebar-header/RightSidebarHeader.cjs +1 -1
  228. package/dist/components/right-sidebar-header/RightSidebarHeader.cjs.map +1 -1
  229. package/dist/components/right-sidebar-header/RightSidebarHeader.css +1 -1
  230. package/dist/components/right-sidebar-header/RightSidebarHeader.d.ts.map +1 -1
  231. package/dist/components/right-sidebar-header/RightSidebarHeader.js +39 -36
  232. package/dist/components/right-sidebar-header/RightSidebarHeader.js.map +1 -1
  233. package/dist/components/right-sidebar-header/RightSidebarHeader.module.scss.cjs +1 -1
  234. package/dist/components/right-sidebar-header/RightSidebarHeader.module.scss.js +12 -13
  235. package/dist/components/right-sidebar-header/RightSidebarHeader.module.scss.js.map +1 -1
  236. package/dist/components/scrollbar/Scrollbar.css +1 -1
  237. package/dist/components/scrollbar/Scrollbar.module.scss.cjs +1 -1
  238. package/dist/components/scrollbar/Scrollbar.module.scss.js +5 -5
  239. package/dist/components/search-input/SearchInput.css +1 -1
  240. package/dist/components/search-input/SearchInput.module.scss.cjs +1 -1
  241. package/dist/components/search-input/SearchInput.module.scss.js +15 -15
  242. package/dist/components/search-tip-banner/SearchTipBanner.css +1 -1
  243. package/dist/components/search-tip-banner/SearchTipBanner.module.scss.cjs +1 -1
  244. package/dist/components/search-tip-banner/SearchTipBanner.module.scss.js +3 -3
  245. package/dist/components/section-notice/SectionNotice.css +1 -1
  246. package/dist/components/section-notice/SectionNotice.module.scss.cjs +1 -1
  247. package/dist/components/section-notice/SectionNotice.module.scss.js +12 -12
  248. package/dist/components/segmented-control/SegmentedControl.cjs +2 -0
  249. package/dist/components/segmented-control/SegmentedControl.cjs.map +1 -0
  250. package/dist/components/segmented-control/SegmentedControl.css +1 -0
  251. package/dist/components/segmented-control/SegmentedControl.d.ts +71 -0
  252. package/dist/components/segmented-control/SegmentedControl.d.ts.map +1 -0
  253. package/dist/components/segmented-control/SegmentedControl.js +173 -0
  254. package/dist/components/segmented-control/SegmentedControl.js.map +1 -0
  255. package/dist/components/segmented-control/SegmentedControl.module.scss.cjs +2 -0
  256. package/dist/components/segmented-control/SegmentedControl.module.scss.cjs.map +1 -0
  257. package/dist/components/segmented-control/SegmentedControl.module.scss.js +20 -0
  258. package/dist/components/segmented-control/SegmentedControl.module.scss.js.map +1 -0
  259. package/dist/components/segmented-control/index.cjs +2 -0
  260. package/dist/components/segmented-control/index.cjs.map +1 -0
  261. package/dist/components/segmented-control/index.d.ts +3 -0
  262. package/dist/components/segmented-control/index.d.ts.map +1 -0
  263. package/dist/components/segmented-control/index.js +5 -0
  264. package/dist/components/segmented-control/index.js.map +1 -0
  265. package/dist/components/select/Select.cjs +1 -1
  266. package/dist/components/select/Select.cjs.map +1 -1
  267. package/dist/components/select/Select.css +1 -1
  268. package/dist/components/select/Select.d.ts +14 -0
  269. package/dist/components/select/Select.d.ts.map +1 -1
  270. package/dist/components/select/Select.js +151 -130
  271. package/dist/components/select/Select.js.map +1 -1
  272. package/dist/components/select/Select.module.scss.cjs +1 -1
  273. package/dist/components/select/Select.module.scss.js +28 -26
  274. package/dist/components/select/Select.module.scss.js.map +1 -1
  275. package/dist/components/shortcut-tag/ShortcutTag.css +1 -1
  276. package/dist/components/shortcut-tag/ShortcutTag.module.scss.cjs +1 -1
  277. package/dist/components/shortcut-tag/ShortcutTag.module.scss.js +7 -7
  278. package/dist/components/spinner/Spinner.css +1 -1
  279. package/dist/components/spinner/Spinner.module.scss.cjs +1 -1
  280. package/dist/components/spinner/Spinner.module.scss.js +2 -2
  281. package/dist/components/status-badge/StatusBadge.cjs +1 -1
  282. package/dist/components/status-badge/StatusBadge.cjs.map +1 -1
  283. package/dist/components/status-badge/StatusBadge.css +1 -1
  284. package/dist/components/status-badge/StatusBadge.d.ts +3 -1
  285. package/dist/components/status-badge/StatusBadge.d.ts.map +1 -1
  286. package/dist/components/status-badge/StatusBadge.js +16 -15
  287. package/dist/components/status-badge/StatusBadge.js.map +1 -1
  288. package/dist/components/status-badge/StatusBadge.module.scss.cjs +1 -1
  289. package/dist/components/status-badge/StatusBadge.module.scss.js +11 -11
  290. package/dist/components/switch/Switch.css +1 -1
  291. package/dist/components/switch/Switch.module.scss.cjs +1 -1
  292. package/dist/components/switch/Switch.module.scss.js +8 -8
  293. package/dist/components/tabs/Tabs.css +1 -1
  294. package/dist/components/tabs/Tabs.module.scss.cjs +1 -1
  295. package/dist/components/tabs/Tabs.module.scss.js +16 -13
  296. package/dist/components/tabs/Tabs.module.scss.js.map +1 -1
  297. package/dist/components/tag/Tag.css +1 -1
  298. package/dist/components/tag/Tag.module.scss.cjs +1 -1
  299. package/dist/components/tag/Tag.module.scss.js +11 -11
  300. package/dist/components/team-avatar/TeamAvatar.css +1 -1
  301. package/dist/components/team-avatar/TeamAvatar.module.scss.cjs +1 -1
  302. package/dist/components/team-avatar/TeamAvatar.module.scss.js +17 -17
  303. package/dist/components/text-area/TextArea.css +1 -1
  304. package/dist/components/text-area/TextArea.module.scss.cjs +1 -1
  305. package/dist/components/text-area/TextArea.module.scss.js +12 -12
  306. package/dist/components/text-input/TextInput.css +1 -1
  307. package/dist/components/text-input/TextInput.module.scss.cjs +1 -1
  308. package/dist/components/text-input/TextInput.module.scss.js +19 -19
  309. package/dist/components/thread-footer/ThreadFooter.cjs +1 -1
  310. package/dist/components/thread-footer/ThreadFooter.cjs.map +1 -1
  311. package/dist/components/thread-footer/ThreadFooter.css +1 -1
  312. package/dist/components/thread-footer/ThreadFooter.d.ts.map +1 -1
  313. package/dist/components/thread-footer/ThreadFooter.js +14 -14
  314. package/dist/components/thread-footer/ThreadFooter.js.map +1 -1
  315. package/dist/components/thread-footer/ThreadFooter.module.scss.cjs +1 -1
  316. package/dist/components/thread-footer/ThreadFooter.module.scss.js +19 -20
  317. package/dist/components/thread-footer/ThreadFooter.module.scss.js.map +1 -1
  318. package/dist/components/thread-list-item/ThreadListItem.css +1 -1
  319. package/dist/components/thread-list-item/ThreadListItem.module.scss.cjs +1 -1
  320. package/dist/components/thread-list-item/ThreadListItem.module.scss.js +26 -26
  321. package/dist/components/tile-button/TileButton.css +1 -1
  322. package/dist/components/tile-button/TileButton.module.scss.cjs +1 -1
  323. package/dist/components/tile-button/TileButton.module.scss.js +6 -6
  324. package/dist/components/toast/Toast.css +1 -1
  325. package/dist/components/toast/Toast.module.scss.cjs +1 -1
  326. package/dist/components/toast/Toast.module.scss.js +11 -11
  327. package/dist/components/tooltip/Tooltip.cjs +1 -1
  328. package/dist/components/tooltip/Tooltip.cjs.map +1 -1
  329. package/dist/components/tooltip/Tooltip.css +1 -1
  330. package/dist/components/tooltip/Tooltip.d.ts +10 -1
  331. package/dist/components/tooltip/Tooltip.d.ts.map +1 -1
  332. package/dist/components/tooltip/Tooltip.js +29 -17
  333. package/dist/components/tooltip/Tooltip.js.map +1 -1
  334. package/dist/components/tooltip/Tooltip.module.scss.cjs +1 -1
  335. package/dist/components/tooltip/Tooltip.module.scss.js +7 -6
  336. package/dist/components/tooltip/Tooltip.module.scss.js.map +1 -1
  337. package/dist/components/tooltip/index.d.ts +1 -1
  338. package/dist/components/tooltip/index.d.ts.map +1 -1
  339. package/dist/components/tour-point/TourPoint.css +1 -1
  340. package/dist/components/tour-point/TourPoint.module.scss.cjs +1 -1
  341. package/dist/components/tour-point/TourPoint.module.scss.js +28 -28
  342. package/dist/components/unread-badge/UnreadBadge.css +1 -1
  343. package/dist/components/unread-badge/UnreadBadge.module.scss.cjs +1 -1
  344. package/dist/components/unread-badge/UnreadBadge.module.scss.js +5 -5
  345. package/dist/components/user-avatar/UserAvatar.cjs +1 -1
  346. package/dist/components/user-avatar/UserAvatar.cjs.map +1 -1
  347. package/dist/components/user-avatar/UserAvatar.css +1 -1
  348. package/dist/components/user-avatar/UserAvatar.d.ts +18 -8
  349. package/dist/components/user-avatar/UserAvatar.d.ts.map +1 -1
  350. package/dist/components/user-avatar/UserAvatar.js +84 -52
  351. package/dist/components/user-avatar/UserAvatar.js.map +1 -1
  352. package/dist/components/user-avatar/UserAvatar.module.scss.cjs +1 -1
  353. package/dist/components/user-avatar/UserAvatar.module.scss.js +33 -26
  354. package/dist/components/user-avatar/UserAvatar.module.scss.js.map +1 -1
  355. package/dist/components/user-avatar-group/UserAvatarGroup.css +1 -1
  356. package/dist/components/user-avatar-group/UserAvatarGroup.module.scss.cjs +1 -1
  357. package/dist/components/user-avatar-group/UserAvatarGroup.module.scss.js +14 -14
  358. package/dist/hooks/use-anchored-popup-portal.cjs.map +1 -1
  359. package/dist/hooks/use-anchored-popup-portal.d.ts +1 -1
  360. package/dist/hooks/use-anchored-popup-portal.d.ts.map +1 -1
  361. package/dist/hooks/use-anchored-popup-portal.js.map +1 -1
  362. package/dist/index.cjs +1 -1
  363. package/dist/index.d.ts +1 -0
  364. package/dist/index.d.ts.map +1 -1
  365. package/dist/index.js +57 -55
  366. package/dist/index.js.map +1 -1
  367. package/dist/utils/anchoredPopupPlacement.cjs +1 -1
  368. package/dist/utils/anchoredPopupPlacement.cjs.map +1 -1
  369. package/dist/utils/anchoredPopupPlacement.d.ts +8 -4
  370. package/dist/utils/anchoredPopupPlacement.d.ts.map +1 -1
  371. package/dist/utils/anchoredPopupPlacement.js +18 -18
  372. package/dist/utils/anchoredPopupPlacement.js.map +1 -1
  373. package/package.json +4 -1
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('./Modal.css');const _="_modal_z87u6_2",l="_modal__body_z87u6_56",o="_modal__scroll_z87u6_63",d={modal:_,"modal--transition":"_modal--transition_z87u6_20","modal--visible":"_modal--visible_z87u6_33","modal--size-small":"_modal--size-small_z87u6_47","modal--size-medium":"_modal--size-medium_z87u6_50","modal--size-large":"_modal--size-large_z87u6_53",modal__body:l,modal__scroll:o,"modal__scroll--fill":"_modal__scroll--fill_z87u6_67","modal__body-inner":"_modal__body-inner_z87u6_70","modal__body-inner--menu":"_modal__body-inner--menu_z87u6_73","modal__body-inner--none":"_modal__body-inner--none_z87u6_76","modal__body-inner--fill":"_modal__body-inner--fill_z87u6_79"};exports.default=d;exports.modal=_;exports.modal__body=l;exports.modal__scroll=o;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('./Modal.css');const _="_modal_ry0g9_13",l="_modal__body_ry0g9_67",o="_modal__scroll_ry0g9_74",d={modal:_,"modal--transition":"_modal--transition_ry0g9_31","modal--visible":"_modal--visible_ry0g9_44","modal--size-small":"_modal--size-small_ry0g9_58","modal--size-medium":"_modal--size-medium_ry0g9_61","modal--size-large":"_modal--size-large_ry0g9_64",modal__body:l,modal__scroll:o,"modal__scroll--fill":"_modal__scroll--fill_ry0g9_78","modal__body-inner":"_modal__body-inner_ry0g9_81","modal__body-inner--menu":"_modal__body-inner--menu_ry0g9_84","modal__body-inner--none":"_modal__body-inner--none_ry0g9_87","modal__body-inner--fill":"_modal__body-inner--fill_ry0g9_90"};exports.default=d;exports.modal=_;exports.modal__body=l;exports.modal__scroll=o;
2
2
  //# sourceMappingURL=Modal.module.scss.cjs.map
@@ -1,17 +1,17 @@
1
- import './Modal.css';const _ = "_modal_z87u6_2", l = "_modal__body_z87u6_56", o = "_modal__scroll_z87u6_63", d = {
1
+ import './Modal.css';const _ = "_modal_ry0g9_13", l = "_modal__body_ry0g9_67", o = "_modal__scroll_ry0g9_74", d = {
2
2
  modal: _,
3
- "modal--transition": "_modal--transition_z87u6_20",
4
- "modal--visible": "_modal--visible_z87u6_33",
5
- "modal--size-small": "_modal--size-small_z87u6_47",
6
- "modal--size-medium": "_modal--size-medium_z87u6_50",
7
- "modal--size-large": "_modal--size-large_z87u6_53",
3
+ "modal--transition": "_modal--transition_ry0g9_31",
4
+ "modal--visible": "_modal--visible_ry0g9_44",
5
+ "modal--size-small": "_modal--size-small_ry0g9_58",
6
+ "modal--size-medium": "_modal--size-medium_ry0g9_61",
7
+ "modal--size-large": "_modal--size-large_ry0g9_64",
8
8
  modal__body: l,
9
9
  modal__scroll: o,
10
- "modal__scroll--fill": "_modal__scroll--fill_z87u6_67",
11
- "modal__body-inner": "_modal__body-inner_z87u6_70",
12
- "modal__body-inner--menu": "_modal__body-inner--menu_z87u6_73",
13
- "modal__body-inner--none": "_modal__body-inner--none_z87u6_76",
14
- "modal__body-inner--fill": "_modal__body-inner--fill_z87u6_79"
10
+ "modal__scroll--fill": "_modal__scroll--fill_ry0g9_78",
11
+ "modal__body-inner": "_modal__body-inner_ry0g9_81",
12
+ "modal__body-inner--menu": "_modal__body-inner--menu_ry0g9_84",
13
+ "modal__body-inner--none": "_modal__body-inner--none_ry0g9_87",
14
+ "modal__body-inner--fill": "_modal__body-inner--fill_ry0g9_90"
15
15
  };
16
16
  export {
17
17
  d as default,
@@ -1 +1 @@
1
- {"version":3,"file":"ModalOverlay.cjs","sources":["../../../src/components/modal/ModalOverlay.tsx"],"sourcesContent":["import {\n useEffect,\n useRef,\n type HTMLAttributes,\n type MouseEvent,\n type ReactNode,\n} from 'react';\nimport { createPortal } from 'react-dom';\nimport { usePopoverTransition } from '@/hooks/use-popover-transition';\nimport { mergeClassNames } from '@/utils/props';\nimport { lockBodyScroll } from '@/utils/scrollLock';\nimport { useOnExited } from '@/utils/useOnExited';\nimport styles from './ModalOverlay.module.scss';\n\nexport interface ModalOverlayProps extends HTMLAttributes<HTMLDivElement> {\n /** Whether the overlay is shown. Setting it to `false` plays the exit and then unmounts. */\n open: boolean;\n /** Called when the backdrop is pressed. Presses that start inside the dialog do not call it. */\n onClose?: () => void;\n /**\n * Called once the exit finishes and the overlay has unmounted. Not called if\n * the overlay itself is unmounted before the exit finishes, so do any\n * cleanup on unmount as well.\n */\n onExited?: () => void;\n /**\n * Portal node. Defaults to `document.body`; pass another element so a modal\n * inside another top layer can join it. `null` renders nothing until the node\n * exists (e.g. a ref held in state). Override `position` through `style`\n * when the container is a positioned stage. Scroll lock applies to that\n * node's document.\n */\n container?: HTMLElement | null;\n /**\n * Lock `document.body` scroll while the overlay is mounted. Turn off for an\n * overlay staged inside a frame (docs, Storybook) so it doesn't freeze the page.\n */\n lockScroll?: boolean;\n /**\n * Stacking order. Defaults to `--z-modal` (200); a host whose chrome sits\n * higher passes this or redefines `--z-modal`. Applied before `style`, so\n * `style.zIndex` wins.\n */\n zIndex?: number;\n /** Usually a `Modal`. */\n children?: ReactNode;\n}\n\n/**\n * Modal scrim: portals to `document.body` (or `container`), locks body scroll\n * while shown (opt out with `lockScroll={false}`), closes on backdrop press, and stays mounted for\n * `--duration-quick` after `open` becomes false so the fade-out can play.\n * Escape and focus stay on `Modal`. Hosts that already position their own\n * node can use `modalOverlayStyles` instead.\n */\nexport default function ModalOverlay({\n open,\n onClose,\n onExited,\n container,\n lockScroll = true,\n zIndex,\n className,\n style,\n children,\n onMouseDown,\n onClick,\n ...rest\n}: ModalOverlayProps) {\n const { mounted } = usePopoverTransition(open);\n useOnExited(mounted, onExited);\n const pressStartedInside = useRef(false);\n\n const target =\n container === undefined\n ? typeof document === 'undefined'\n ? null\n : document.body\n : container;\n\n useEffect(() => {\n if (!mounted || !target || !lockScroll) return undefined;\n return lockBodyScroll(target.ownerDocument);\n }, [mounted, target, lockScroll]);\n\n if (!mounted || !target) return null;\n\n const handleMouseDown = (e: MouseEvent<HTMLDivElement>) => {\n pressStartedInside.current = e.target !== e.currentTarget;\n onMouseDown?.(e);\n };\n\n const handleClick = (e: MouseEvent<HTMLDivElement>) => {\n const startedInside = pressStartedInside.current;\n pressStartedInside.current = false;\n onClick?.(e);\n if (open && !startedInside && e.target === e.currentTarget) onClose?.();\n };\n\n return createPortal(\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions -- backdrop click is a pointer shortcut; keyboard users close with Escape (handled by Modal)\n <div\n {...rest}\n className={mergeClassNames(\n styles['modal-overlay'],\n !open && styles['modal-overlay--exiting'],\n className,\n )}\n style={{ ...(zIndex !== undefined && { zIndex }), ...style }}\n onMouseDown={handleMouseDown}\n onClick={handleClick}\n >\n {children}\n </div>,\n target,\n );\n}\n"],"names":["ModalOverlay","open","onClose","onExited","container","lockScroll","zIndex","className","style","children","onMouseDown","onClick","rest","mounted","usePopoverTransition","useOnExited","pressStartedInside","useRef","target","useEffect","lockBodyScroll","handleMouseDown","handleClick","startedInside","createPortal","jsx","mergeClassNames","styles"],"mappings":"6YAuDA,SAAwBA,EAAa,CACnC,KAAAC,EACA,QAAAC,EACA,SAAAC,EACA,UAAAC,EACA,WAAAC,EAAa,GACb,OAAAC,EACA,UAAAC,EACA,MAAAC,EACA,SAAAC,EACA,YAAAC,EACA,QAAAC,EACA,GAAGC,CACL,EAAsB,CACpB,KAAM,CAAE,QAAAC,CAAA,EAAYC,EAAAA,qBAAqBb,CAAI,EAC7Cc,EAAAA,YAAYF,EAASV,CAAQ,EAC7B,MAAMa,EAAqBC,EAAAA,OAAO,EAAK,EAEjCC,EACJd,IAAc,OACV,OAAO,SAAa,IAClB,KACA,SAAS,KACXA,EAON,GALAe,EAAAA,UAAU,IAAM,CACd,GAAI,GAACN,GAAW,CAACK,GAAU,CAACb,GAC5B,OAAOe,EAAAA,eAAeF,EAAO,aAAa,CAC5C,EAAG,CAACL,EAASK,EAAQb,CAAU,CAAC,EAE5B,CAACQ,GAAW,CAACK,EAAQ,OAAO,KAEhC,MAAMG,EAAmB,GAAkC,CACzDL,EAAmB,QAAU,EAAE,SAAW,EAAE,cAC5CN,GAAA,MAAAA,EAAc,EAChB,EAEMY,EAAe,GAAkC,CACrD,MAAMC,EAAgBP,EAAmB,QACzCA,EAAmB,QAAU,GAC7BL,GAAA,MAAAA,EAAU,GACNV,GAAQ,CAACsB,GAAiB,EAAE,SAAW,EAAE,gBAAerB,GAAA,MAAAA,IAC9D,EAEA,OAAOsB,EAAAA,aAELC,EAAAA,IAAC,MAAA,CACE,GAAGb,EACJ,UAAWc,EAAAA,gBACTC,EAAAA,QAAO,eAAe,EACtB,CAAC1B,GAAQ0B,EAAAA,QAAO,wBAAwB,EACxCpB,CAAA,EAEF,MAAO,CAAE,GAAID,IAAW,QAAa,CAAE,OAAAA,CAAA,EAAW,GAAGE,CAAA,EACrD,YAAaa,EACb,QAASC,EAER,SAAAb,CAAA,CAAA,EAEHS,CAAA,CAEJ"}
1
+ {"version":3,"file":"ModalOverlay.cjs","sources":["../../../src/components/modal/ModalOverlay.tsx"],"sourcesContent":["import {\n useEffect,\n useRef,\n type HTMLAttributes,\n type MouseEvent,\n type ReactNode,\n} from 'react';\nimport { createPortal } from 'react-dom';\nimport { usePopoverTransition } from '@/hooks/use-popover-transition';\nimport { mergeClassNames } from '@/utils/props';\nimport { lockBodyScroll } from '@/utils/scrollLock';\nimport { useOnExited } from '@/utils/useOnExited';\nimport styles from './ModalOverlay.module.scss';\n\nexport interface ModalOverlayProps extends HTMLAttributes<HTMLDivElement> {\n /** Whether the overlay is shown. Setting it to `false` plays the exit and then unmounts. */\n open: boolean;\n /** Called when the backdrop is pressed. Presses that start inside the dialog do not call it. */\n onClose?: () => void;\n /**\n * Called once the exit finishes and the overlay has unmounted. Not called if\n * the overlay itself is unmounted before the exit finishes, so do any\n * cleanup on unmount as well.\n */\n onExited?: () => void;\n /**\n * Portal node. Defaults to `document.body`; pass another element so a modal\n * inside another top layer can join it. `null` renders nothing until the node\n * exists (e.g. a ref held in state). Override `position` through `style`\n * when the container is a positioned stage. Scroll lock applies to that\n * node's document.\n */\n container?: HTMLElement | null;\n /**\n * Lock `document.body` scroll while the overlay is mounted. Turn off for an\n * overlay staged inside a frame (docs, Storybook) so it doesn't freeze the page.\n */\n lockScroll?: boolean;\n /**\n * Stacking order. Defaults to `--z-modal` (1050, the webapp's modal layer); a host whose chrome sits\n * higher passes this or redefines `--z-modal`. Applied before `style`, so\n * `style.zIndex` wins.\n */\n zIndex?: number;\n /** Usually a `Modal`. */\n children?: ReactNode;\n}\n\n/**\n * Modal scrim: portals to `document.body` (or `container`), locks body scroll\n * while shown (opt out with `lockScroll={false}`), closes on backdrop press, and stays mounted for\n * `--duration-quick` after `open` becomes false so the fade-out can play.\n * Escape and focus stay on `Modal`. Hosts that already position their own\n * node can use `modalOverlayStyles` instead.\n */\nexport default function ModalOverlay({\n open,\n onClose,\n onExited,\n container,\n lockScroll = true,\n zIndex,\n className,\n style,\n children,\n onMouseDown,\n onClick,\n ...rest\n}: ModalOverlayProps) {\n const { mounted } = usePopoverTransition(open);\n useOnExited(mounted, onExited);\n const pressStartedInside = useRef(false);\n\n const target =\n container === undefined\n ? typeof document === 'undefined'\n ? null\n : document.body\n : container;\n\n useEffect(() => {\n if (!mounted || !target || !lockScroll) return undefined;\n return lockBodyScroll(target.ownerDocument);\n }, [mounted, target, lockScroll]);\n\n if (!mounted || !target) return null;\n\n const handleMouseDown = (e: MouseEvent<HTMLDivElement>) => {\n pressStartedInside.current = e.target !== e.currentTarget;\n onMouseDown?.(e);\n };\n\n const handleClick = (e: MouseEvent<HTMLDivElement>) => {\n const startedInside = pressStartedInside.current;\n pressStartedInside.current = false;\n onClick?.(e);\n if (open && !startedInside && e.target === e.currentTarget) onClose?.();\n };\n\n return createPortal(\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions -- backdrop click is a pointer shortcut; keyboard users close with Escape (handled by Modal)\n <div\n {...rest}\n className={mergeClassNames(\n styles['modal-overlay'],\n !open && styles['modal-overlay--exiting'],\n className,\n )}\n style={{ ...(zIndex !== undefined && { zIndex }), ...style }}\n onMouseDown={handleMouseDown}\n onClick={handleClick}\n >\n {children}\n </div>,\n target,\n );\n}\n"],"names":["ModalOverlay","open","onClose","onExited","container","lockScroll","zIndex","className","style","children","onMouseDown","onClick","rest","mounted","usePopoverTransition","useOnExited","pressStartedInside","useRef","target","useEffect","lockBodyScroll","handleMouseDown","handleClick","startedInside","createPortal","jsx","mergeClassNames","styles"],"mappings":"6YAuDA,SAAwBA,EAAa,CACnC,KAAAC,EACA,QAAAC,EACA,SAAAC,EACA,UAAAC,EACA,WAAAC,EAAa,GACb,OAAAC,EACA,UAAAC,EACA,MAAAC,EACA,SAAAC,EACA,YAAAC,EACA,QAAAC,EACA,GAAGC,CACL,EAAsB,CACpB,KAAM,CAAE,QAAAC,CAAA,EAAYC,EAAAA,qBAAqBb,CAAI,EAC7Cc,EAAAA,YAAYF,EAASV,CAAQ,EAC7B,MAAMa,EAAqBC,EAAAA,OAAO,EAAK,EAEjCC,EACJd,IAAc,OACV,OAAO,SAAa,IAClB,KACA,SAAS,KACXA,EAON,GALAe,EAAAA,UAAU,IAAM,CACd,GAAI,GAACN,GAAW,CAACK,GAAU,CAACb,GAC5B,OAAOe,EAAAA,eAAeF,EAAO,aAAa,CAC5C,EAAG,CAACL,EAASK,EAAQb,CAAU,CAAC,EAE5B,CAACQ,GAAW,CAACK,EAAQ,OAAO,KAEhC,MAAMG,EAAmB,GAAkC,CACzDL,EAAmB,QAAU,EAAE,SAAW,EAAE,cAC5CN,GAAA,MAAAA,EAAc,EAChB,EAEMY,EAAe,GAAkC,CACrD,MAAMC,EAAgBP,EAAmB,QACzCA,EAAmB,QAAU,GAC7BL,GAAA,MAAAA,EAAU,GACNV,GAAQ,CAACsB,GAAiB,EAAE,SAAW,EAAE,gBAAerB,GAAA,MAAAA,IAC9D,EAEA,OAAOsB,EAAAA,aAELC,EAAAA,IAAC,MAAA,CACE,GAAGb,EACJ,UAAWc,EAAAA,gBACTC,EAAAA,QAAO,eAAe,EACtB,CAAC1B,GAAQ0B,EAAAA,QAAO,wBAAwB,EACxCpB,CAAA,EAEF,MAAO,CAAE,GAAID,IAAW,QAAa,CAAE,OAAAA,CAAA,EAAW,GAAGE,CAAA,EACrD,YAAaa,EACb,QAASC,EAER,SAAAb,CAAA,CAAA,EAEHS,CAAA,CAEJ"}
@@ -1 +1 @@
1
- @keyframes _modal-overlay-fade-in_9al07_1{0%{opacity:0}}._modal-overlay_9al07_7{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl) var(--spacing-xl) calc(var(--spacing-xl) + 2 * var(--spacing-xxl));z-index:var(--z-modal);background-color:var(--modal-overlay-bg);animation:_modal-overlay-fade-in_9al07_1 var(--duration-quick) var(--ease-entrance);transition:opacity var(--duration-quick) var(--ease-exit)}._modal-overlay--exiting_9al07_19{opacity:0;pointer-events:none}@media(prefers-reduced-motion:reduce){._modal-overlay_9al07_7{animation:none;transition:none}}
1
+ @keyframes _modal-overlay-fade-in_1oqns_1{0%{opacity:0}}._modal-overlay_1oqns_18{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl) var(--spacing-xl) calc(var(--spacing-xl) + 2 * var(--spacing-xxl));z-index:var(--z-modal);background-color:var(--modal-overlay-bg);animation:_modal-overlay-fade-in_1oqns_1 var(--duration-quick) var(--ease-entrance);transition:opacity var(--duration-quick) var(--ease-exit)}._modal-overlay--exiting_1oqns_30{opacity:0;pointer-events:none}@media(prefers-reduced-motion:reduce){._modal-overlay_1oqns_18{animation:none;transition:none}}
@@ -24,7 +24,7 @@ export interface ModalOverlayProps extends HTMLAttributes<HTMLDivElement> {
24
24
  */
25
25
  lockScroll?: boolean;
26
26
  /**
27
- * Stacking order. Defaults to `--z-modal` (200); a host whose chrome sits
27
+ * Stacking order. Defaults to `--z-modal` (1050, the webapp's modal layer); a host whose chrome sits
28
28
  * higher passes this or redefines `--z-modal`. Applied before `style`, so
29
29
  * `style.zIndex` wins.
30
30
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ModalOverlay.js","sources":["../../../src/components/modal/ModalOverlay.tsx"],"sourcesContent":["import {\n useEffect,\n useRef,\n type HTMLAttributes,\n type MouseEvent,\n type ReactNode,\n} from 'react';\nimport { createPortal } from 'react-dom';\nimport { usePopoverTransition } from '@/hooks/use-popover-transition';\nimport { mergeClassNames } from '@/utils/props';\nimport { lockBodyScroll } from '@/utils/scrollLock';\nimport { useOnExited } from '@/utils/useOnExited';\nimport styles from './ModalOverlay.module.scss';\n\nexport interface ModalOverlayProps extends HTMLAttributes<HTMLDivElement> {\n /** Whether the overlay is shown. Setting it to `false` plays the exit and then unmounts. */\n open: boolean;\n /** Called when the backdrop is pressed. Presses that start inside the dialog do not call it. */\n onClose?: () => void;\n /**\n * Called once the exit finishes and the overlay has unmounted. Not called if\n * the overlay itself is unmounted before the exit finishes, so do any\n * cleanup on unmount as well.\n */\n onExited?: () => void;\n /**\n * Portal node. Defaults to `document.body`; pass another element so a modal\n * inside another top layer can join it. `null` renders nothing until the node\n * exists (e.g. a ref held in state). Override `position` through `style`\n * when the container is a positioned stage. Scroll lock applies to that\n * node's document.\n */\n container?: HTMLElement | null;\n /**\n * Lock `document.body` scroll while the overlay is mounted. Turn off for an\n * overlay staged inside a frame (docs, Storybook) so it doesn't freeze the page.\n */\n lockScroll?: boolean;\n /**\n * Stacking order. Defaults to `--z-modal` (200); a host whose chrome sits\n * higher passes this or redefines `--z-modal`. Applied before `style`, so\n * `style.zIndex` wins.\n */\n zIndex?: number;\n /** Usually a `Modal`. */\n children?: ReactNode;\n}\n\n/**\n * Modal scrim: portals to `document.body` (or `container`), locks body scroll\n * while shown (opt out with `lockScroll={false}`), closes on backdrop press, and stays mounted for\n * `--duration-quick` after `open` becomes false so the fade-out can play.\n * Escape and focus stay on `Modal`. Hosts that already position their own\n * node can use `modalOverlayStyles` instead.\n */\nexport default function ModalOverlay({\n open,\n onClose,\n onExited,\n container,\n lockScroll = true,\n zIndex,\n className,\n style,\n children,\n onMouseDown,\n onClick,\n ...rest\n}: ModalOverlayProps) {\n const { mounted } = usePopoverTransition(open);\n useOnExited(mounted, onExited);\n const pressStartedInside = useRef(false);\n\n const target =\n container === undefined\n ? typeof document === 'undefined'\n ? null\n : document.body\n : container;\n\n useEffect(() => {\n if (!mounted || !target || !lockScroll) return undefined;\n return lockBodyScroll(target.ownerDocument);\n }, [mounted, target, lockScroll]);\n\n if (!mounted || !target) return null;\n\n const handleMouseDown = (e: MouseEvent<HTMLDivElement>) => {\n pressStartedInside.current = e.target !== e.currentTarget;\n onMouseDown?.(e);\n };\n\n const handleClick = (e: MouseEvent<HTMLDivElement>) => {\n const startedInside = pressStartedInside.current;\n pressStartedInside.current = false;\n onClick?.(e);\n if (open && !startedInside && e.target === e.currentTarget) onClose?.();\n };\n\n return createPortal(\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions -- backdrop click is a pointer shortcut; keyboard users close with Escape (handled by Modal)\n <div\n {...rest}\n className={mergeClassNames(\n styles['modal-overlay'],\n !open && styles['modal-overlay--exiting'],\n className,\n )}\n style={{ ...(zIndex !== undefined && { zIndex }), ...style }}\n onMouseDown={handleMouseDown}\n onClick={handleClick}\n >\n {children}\n </div>,\n target,\n );\n}\n"],"names":["ModalOverlay","open","onClose","onExited","container","lockScroll","zIndex","className","style","children","onMouseDown","onClick","rest","mounted","usePopoverTransition","useOnExited","pressStartedInside","useRef","target","useEffect","lockBodyScroll","handleMouseDown","e","handleClick","startedInside","createPortal","jsx","mergeClassNames","styles"],"mappings":";;;;;;;;AAuDA,SAAwBA,EAAa;AAAA,EACnC,MAAAC;AAAA,EACA,SAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,YAAAC,IAAa;AAAA,EACb,QAAAC;AAAA,EACA,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,aAAAC;AAAA,EACA,SAAAC;AAAA,EACA,GAAGC;AACL,GAAsB;AACpB,QAAM,EAAE,SAAAC,EAAA,IAAYC,EAAqBb,CAAI;AAC7C,EAAAc,EAAYF,GAASV,CAAQ;AAC7B,QAAMa,IAAqBC,EAAO,EAAK,GAEjCC,IACJd,MAAc,SACV,OAAO,WAAa,MAClB,OACA,SAAS,OACXA;AAON,MALAe,EAAU,MAAM;AACd,QAAI,GAACN,KAAW,CAACK,KAAU,CAACb;AAC5B,aAAOe,EAAeF,EAAO,aAAa;AAAA,EAC5C,GAAG,CAACL,GAASK,GAAQb,CAAU,CAAC,GAE5B,CAACQ,KAAW,CAACK,EAAQ,QAAO;AAEhC,QAAMG,IAAkB,CAACC,MAAkC;AACzD,IAAAN,EAAmB,UAAUM,EAAE,WAAWA,EAAE,eAC5CZ,KAAA,QAAAA,EAAcY;AAAA,EAChB,GAEMC,IAAc,CAACD,MAAkC;AACrD,UAAME,IAAgBR,EAAmB;AACzC,IAAAA,EAAmB,UAAU,IAC7BL,KAAA,QAAAA,EAAUW,IACNrB,KAAQ,CAACuB,KAAiBF,EAAE,WAAWA,EAAE,kBAAepB,KAAA,QAAAA;AAAA,EAC9D;AAEA,SAAOuB;AAAA;AAAA,IAEL,gBAAAC;AAAA,MAAC;AAAA,MAAA;AAAA,QACE,GAAGd;AAAA,QACJ,WAAWe;AAAA,UACTC,EAAO,eAAe;AAAA,UACtB,CAAC3B,KAAQ2B,EAAO,wBAAwB;AAAA,UACxCrB;AAAA,QAAA;AAAA,QAEF,OAAO,EAAE,GAAID,MAAW,UAAa,EAAE,QAAAA,EAAA,GAAW,GAAGE,EAAA;AAAA,QACrD,aAAaa;AAAA,QACb,SAASE;AAAA,QAER,UAAAd;AAAA,MAAA;AAAA,IAAA;AAAA,IAEHS;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"ModalOverlay.js","sources":["../../../src/components/modal/ModalOverlay.tsx"],"sourcesContent":["import {\n useEffect,\n useRef,\n type HTMLAttributes,\n type MouseEvent,\n type ReactNode,\n} from 'react';\nimport { createPortal } from 'react-dom';\nimport { usePopoverTransition } from '@/hooks/use-popover-transition';\nimport { mergeClassNames } from '@/utils/props';\nimport { lockBodyScroll } from '@/utils/scrollLock';\nimport { useOnExited } from '@/utils/useOnExited';\nimport styles from './ModalOverlay.module.scss';\n\nexport interface ModalOverlayProps extends HTMLAttributes<HTMLDivElement> {\n /** Whether the overlay is shown. Setting it to `false` plays the exit and then unmounts. */\n open: boolean;\n /** Called when the backdrop is pressed. Presses that start inside the dialog do not call it. */\n onClose?: () => void;\n /**\n * Called once the exit finishes and the overlay has unmounted. Not called if\n * the overlay itself is unmounted before the exit finishes, so do any\n * cleanup on unmount as well.\n */\n onExited?: () => void;\n /**\n * Portal node. Defaults to `document.body`; pass another element so a modal\n * inside another top layer can join it. `null` renders nothing until the node\n * exists (e.g. a ref held in state). Override `position` through `style`\n * when the container is a positioned stage. Scroll lock applies to that\n * node's document.\n */\n container?: HTMLElement | null;\n /**\n * Lock `document.body` scroll while the overlay is mounted. Turn off for an\n * overlay staged inside a frame (docs, Storybook) so it doesn't freeze the page.\n */\n lockScroll?: boolean;\n /**\n * Stacking order. Defaults to `--z-modal` (1050, the webapp's modal layer); a host whose chrome sits\n * higher passes this or redefines `--z-modal`. Applied before `style`, so\n * `style.zIndex` wins.\n */\n zIndex?: number;\n /** Usually a `Modal`. */\n children?: ReactNode;\n}\n\n/**\n * Modal scrim: portals to `document.body` (or `container`), locks body scroll\n * while shown (opt out with `lockScroll={false}`), closes on backdrop press, and stays mounted for\n * `--duration-quick` after `open` becomes false so the fade-out can play.\n * Escape and focus stay on `Modal`. Hosts that already position their own\n * node can use `modalOverlayStyles` instead.\n */\nexport default function ModalOverlay({\n open,\n onClose,\n onExited,\n container,\n lockScroll = true,\n zIndex,\n className,\n style,\n children,\n onMouseDown,\n onClick,\n ...rest\n}: ModalOverlayProps) {\n const { mounted } = usePopoverTransition(open);\n useOnExited(mounted, onExited);\n const pressStartedInside = useRef(false);\n\n const target =\n container === undefined\n ? typeof document === 'undefined'\n ? null\n : document.body\n : container;\n\n useEffect(() => {\n if (!mounted || !target || !lockScroll) return undefined;\n return lockBodyScroll(target.ownerDocument);\n }, [mounted, target, lockScroll]);\n\n if (!mounted || !target) return null;\n\n const handleMouseDown = (e: MouseEvent<HTMLDivElement>) => {\n pressStartedInside.current = e.target !== e.currentTarget;\n onMouseDown?.(e);\n };\n\n const handleClick = (e: MouseEvent<HTMLDivElement>) => {\n const startedInside = pressStartedInside.current;\n pressStartedInside.current = false;\n onClick?.(e);\n if (open && !startedInside && e.target === e.currentTarget) onClose?.();\n };\n\n return createPortal(\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions -- backdrop click is a pointer shortcut; keyboard users close with Escape (handled by Modal)\n <div\n {...rest}\n className={mergeClassNames(\n styles['modal-overlay'],\n !open && styles['modal-overlay--exiting'],\n className,\n )}\n style={{ ...(zIndex !== undefined && { zIndex }), ...style }}\n onMouseDown={handleMouseDown}\n onClick={handleClick}\n >\n {children}\n </div>,\n target,\n );\n}\n"],"names":["ModalOverlay","open","onClose","onExited","container","lockScroll","zIndex","className","style","children","onMouseDown","onClick","rest","mounted","usePopoverTransition","useOnExited","pressStartedInside","useRef","target","useEffect","lockBodyScroll","handleMouseDown","e","handleClick","startedInside","createPortal","jsx","mergeClassNames","styles"],"mappings":";;;;;;;;AAuDA,SAAwBA,EAAa;AAAA,EACnC,MAAAC;AAAA,EACA,SAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,YAAAC,IAAa;AAAA,EACb,QAAAC;AAAA,EACA,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,aAAAC;AAAA,EACA,SAAAC;AAAA,EACA,GAAGC;AACL,GAAsB;AACpB,QAAM,EAAE,SAAAC,EAAA,IAAYC,EAAqBb,CAAI;AAC7C,EAAAc,EAAYF,GAASV,CAAQ;AAC7B,QAAMa,IAAqBC,EAAO,EAAK,GAEjCC,IACJd,MAAc,SACV,OAAO,WAAa,MAClB,OACA,SAAS,OACXA;AAON,MALAe,EAAU,MAAM;AACd,QAAI,GAACN,KAAW,CAACK,KAAU,CAACb;AAC5B,aAAOe,EAAeF,EAAO,aAAa;AAAA,EAC5C,GAAG,CAACL,GAASK,GAAQb,CAAU,CAAC,GAE5B,CAACQ,KAAW,CAACK,EAAQ,QAAO;AAEhC,QAAMG,IAAkB,CAACC,MAAkC;AACzD,IAAAN,EAAmB,UAAUM,EAAE,WAAWA,EAAE,eAC5CZ,KAAA,QAAAA,EAAcY;AAAA,EAChB,GAEMC,IAAc,CAACD,MAAkC;AACrD,UAAME,IAAgBR,EAAmB;AACzC,IAAAA,EAAmB,UAAU,IAC7BL,KAAA,QAAAA,EAAUW,IACNrB,KAAQ,CAACuB,KAAiBF,EAAE,WAAWA,EAAE,kBAAepB,KAAA,QAAAA;AAAA,EAC9D;AAEA,SAAOuB;AAAA;AAAA,IAEL,gBAAAC;AAAA,MAAC;AAAA,MAAA;AAAA,QACE,GAAGd;AAAA,QACJ,WAAWe;AAAA,UACTC,EAAO,eAAe;AAAA,UACtB,CAAC3B,KAAQ2B,EAAO,wBAAwB;AAAA,UACxCrB;AAAA,QAAA;AAAA,QAEF,OAAO,EAAE,GAAID,MAAW,UAAa,EAAE,QAAAA,EAAA,GAAW,GAAGE,EAAA;AAAA,QACrD,aAAaa;AAAA,QACb,SAASE;AAAA,QAER,UAAAd;AAAA,MAAA;AAAA,IAAA;AAAA,IAEHS;AAAA,EAAA;AAEJ;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('./ModalOverlay.css');const e={"modal-overlay":"_modal-overlay_9al07_7","modal-overlay-fade-in":"_modal-overlay-fade-in_9al07_1","modal-overlay--exiting":"_modal-overlay--exiting_9al07_19"};exports.default=e;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('./ModalOverlay.css');const e={"modal-overlay":"_modal-overlay_1oqns_18","modal-overlay-fade-in":"_modal-overlay-fade-in_1oqns_1","modal-overlay--exiting":"_modal-overlay--exiting_1oqns_30"};exports.default=e;
2
2
  //# sourceMappingURL=ModalOverlay.module.scss.cjs.map
@@ -1,9 +1,9 @@
1
- import './ModalOverlay.css';const a = {
2
- "modal-overlay": "_modal-overlay_9al07_7",
3
- "modal-overlay-fade-in": "_modal-overlay-fade-in_9al07_1",
4
- "modal-overlay--exiting": "_modal-overlay--exiting_9al07_19"
1
+ import './ModalOverlay.css';const o = {
2
+ "modal-overlay": "_modal-overlay_1oqns_18",
3
+ "modal-overlay-fade-in": "_modal-overlay-fade-in_1oqns_1",
4
+ "modal-overlay--exiting": "_modal-overlay--exiting_1oqns_30"
5
5
  };
6
6
  export {
7
- a as default
7
+ o as default
8
8
  };
9
9
  //# sourceMappingURL=ModalOverlay.module.scss.js.map
@@ -1 +1 @@
1
- ._modal-footer_1yi4a_2{display:flex;flex-direction:column;flex-shrink:0;align-items:stretch}._modal-footer--divider_1yi4a_8{border-top:1px solid rgba(var(--center-channel-color-rgb),.12)}._modal-footer--no-divider_1yi4a_11 ._modal-footer__content_1yi4a_11{padding-top:0}._modal-footer__content_1yi4a_11{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-xs);width:100%;padding:var(--spacing-xxl) var(--spacing-xxxl)}._modal-footer__leading_1yi4a_22{flex:1 1 auto;min-width:0;display:flex;align-items:center;font-family:var(--font-family-body);font-size:var(--font-size-75);font-weight:var(--font-weight-semibold);line-height:var(--line-height-75);color:rgba(var(--center-channel-color-rgb),.64)}._modal-footer__actions_1yi4a_33{display:flex;flex-shrink:0;align-items:center;justify-content:flex-end;gap:var(--spacing-xs)}._modal-footer--type-2-actions-separated_1yi4a_40 ._modal-footer__content_1yi4a_11{justify-content:space-between}._modal-footer--type-2-actions-separated_1yi4a_40 ._modal-footer__actions_1yi4a_33:only-child{flex:1 1 auto;justify-content:space-between}._modal-footer--type-pagination_1yi4a_47 ._modal-footer__content_1yi4a_11,._modal-footer--type-stepped-progress_1yi4a_47 ._modal-footer__content_1yi4a_11{justify-content:space-between}._modal-footer--type-spacer-small_1yi4a_50{padding:var(--spacing-l);min-height:calc(var(--spacing-l) * 2)}._modal-footer--type-spacer-large_1yi4a_54{padding:var(--spacing-xxl);min-height:calc(var(--spacing-xxl) * 2)}
1
+ ._modal-footer_npl2l_13{display:flex;flex-direction:column;flex-shrink:0;align-items:stretch}._modal-footer--divider_npl2l_19{border-top:1px solid rgba(var(--center-channel-color-rgb),.12)}._modal-footer--no-divider_npl2l_22 ._modal-footer__content_npl2l_22{padding-top:0}._modal-footer__content_npl2l_22{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-xs);width:100%;padding:var(--spacing-xxl) var(--spacing-xxxl)}._modal-footer__leading_npl2l_33{flex:1 1 auto;min-width:0;display:flex;align-items:center;font-family:var(--font-family-body);font-size:var(--font-size-75);font-weight:var(--font-weight-semibold);line-height:var(--line-height-75);color:rgba(var(--center-channel-color-rgb),.64)}._modal-footer__actions_npl2l_44{display:flex;flex-shrink:0;align-items:center;justify-content:flex-end;gap:var(--spacing-xs)}._modal-footer--type-2-actions-separated_npl2l_51 ._modal-footer__content_npl2l_22{justify-content:space-between}._modal-footer--type-2-actions-separated_npl2l_51 ._modal-footer__actions_npl2l_44:only-child{flex:1 1 auto;justify-content:space-between}._modal-footer--type-pagination_npl2l_58 ._modal-footer__content_npl2l_22,._modal-footer--type-stepped-progress_npl2l_58 ._modal-footer__content_npl2l_22{justify-content:space-between}._modal-footer--type-spacer-small_npl2l_61{padding:var(--spacing-l);min-height:calc(var(--spacing-l) * 2)}._modal-footer--type-spacer-large_npl2l_65{padding:var(--spacing-xxl);min-height:calc(var(--spacing-xxl) * 2)}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('./ModalFooter.css');const o={"modal-footer":"_modal-footer_1yi4a_2","modal-footer--divider":"_modal-footer--divider_1yi4a_8","modal-footer--no-divider":"_modal-footer--no-divider_1yi4a_11","modal-footer__content":"_modal-footer__content_1yi4a_11","modal-footer__leading":"_modal-footer__leading_1yi4a_22","modal-footer__actions":"_modal-footer__actions_1yi4a_33","modal-footer--type-2-actions-separated":"_modal-footer--type-2-actions-separated_1yi4a_40","modal-footer--type-pagination":"_modal-footer--type-pagination_1yi4a_47","modal-footer--type-stepped-progress":"_modal-footer--type-stepped-progress_1yi4a_47","modal-footer--type-spacer-small":"_modal-footer--type-spacer-small_1yi4a_50","modal-footer--type-spacer-large":"_modal-footer--type-spacer-large_1yi4a_54"};exports.default=o;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('./ModalFooter.css');const o={"modal-footer":"_modal-footer_npl2l_13","modal-footer--divider":"_modal-footer--divider_npl2l_19","modal-footer--no-divider":"_modal-footer--no-divider_npl2l_22","modal-footer__content":"_modal-footer__content_npl2l_22","modal-footer__leading":"_modal-footer__leading_npl2l_33","modal-footer__actions":"_modal-footer__actions_npl2l_44","modal-footer--type-2-actions-separated":"_modal-footer--type-2-actions-separated_npl2l_51","modal-footer--type-pagination":"_modal-footer--type-pagination_npl2l_58","modal-footer--type-stepped-progress":"_modal-footer--type-stepped-progress_npl2l_58","modal-footer--type-spacer-small":"_modal-footer--type-spacer-small_npl2l_61","modal-footer--type-spacer-large":"_modal-footer--type-spacer-large_npl2l_65"};exports.default=o;
2
2
  //# sourceMappingURL=ModalFooter.module.scss.cjs.map
@@ -1,15 +1,15 @@
1
1
  import './ModalFooter.css';const o = {
2
- "modal-footer": "_modal-footer_1yi4a_2",
3
- "modal-footer--divider": "_modal-footer--divider_1yi4a_8",
4
- "modal-footer--no-divider": "_modal-footer--no-divider_1yi4a_11",
5
- "modal-footer__content": "_modal-footer__content_1yi4a_11",
6
- "modal-footer__leading": "_modal-footer__leading_1yi4a_22",
7
- "modal-footer__actions": "_modal-footer__actions_1yi4a_33",
8
- "modal-footer--type-2-actions-separated": "_modal-footer--type-2-actions-separated_1yi4a_40",
9
- "modal-footer--type-pagination": "_modal-footer--type-pagination_1yi4a_47",
10
- "modal-footer--type-stepped-progress": "_modal-footer--type-stepped-progress_1yi4a_47",
11
- "modal-footer--type-spacer-small": "_modal-footer--type-spacer-small_1yi4a_50",
12
- "modal-footer--type-spacer-large": "_modal-footer--type-spacer-large_1yi4a_54"
2
+ "modal-footer": "_modal-footer_npl2l_13",
3
+ "modal-footer--divider": "_modal-footer--divider_npl2l_19",
4
+ "modal-footer--no-divider": "_modal-footer--no-divider_npl2l_22",
5
+ "modal-footer__content": "_modal-footer__content_npl2l_22",
6
+ "modal-footer__leading": "_modal-footer__leading_npl2l_33",
7
+ "modal-footer__actions": "_modal-footer__actions_npl2l_44",
8
+ "modal-footer--type-2-actions-separated": "_modal-footer--type-2-actions-separated_npl2l_51",
9
+ "modal-footer--type-pagination": "_modal-footer--type-pagination_npl2l_58",
10
+ "modal-footer--type-stepped-progress": "_modal-footer--type-stepped-progress_npl2l_58",
11
+ "modal-footer--type-spacer-small": "_modal-footer--type-spacer-small_npl2l_61",
12
+ "modal-footer--type-spacer-large": "_modal-footer--type-spacer-large_npl2l_65"
13
13
  };
14
14
  export {
15
15
  o as default
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),__y=require("@mattermost/compass-icons/components/close.js"),y=__y?.default??__y,__w=require("@mattermost/compass-icons/components/arrow-left.js"),w=__w?.default??__w,h=require("../icon/Icon.cjs"),t=require("../icon-button/IconButton.cjs"),_=require("../../utils/props.cjs"),a=require("./ModalHeader.module.scss.cjs");function M({className:f="",title:l,subtitle:r,subtitlePlacement:j="below",hideTitle:m=!1,titleId:i,showBackButton:x=!1,onBack:N,backLabel:v="Go back",backButtonProps:d,onClose:b,closeLabel:q="Close",closeButtonProps:s,divider:g=!0,headerAction:C,headerSlot:c}){const n=!m&&l!=null,u=n&&r!=null,o=j==="beside"&&u;return e.jsxs("div",{className:[a.default["modal-header"],!g&&a.default["modal-header--no-divider"],m&&a.default["modal-header--close-only"],c&&a.default["modal-header--has-slot"],f].filter(Boolean).join(" "),children:[e.jsxs("div",{className:a.default["modal-header__content"],children:[n?e.jsxs("div",{className:a.default["modal-header__titles"],children:[e.jsxs("div",{className:a.default["modal-header__primary"],children:[x&&e.jsx(t.default,{...d,"aria-label":v,className:_.mergeClassNames(a.default["modal-header__back"],d==null?void 0:d.className),icon:e.jsx(h.default,{glyph:e.jsx(w,{}),size:"20"}),onClick:N}),e.jsx("h2",{id:i,className:a.default["modal-header__title"],children:l}),o&&e.jsxs("div",{className:a.default["modal-header__subtitle-beside"],children:[e.jsx("span",{className:a.default["modal-header__subtitle-divider"],"aria-hidden":!0}),e.jsx("p",{className:a.default["modal-header__subtitle"],children:r})]})]}),u&&!o&&e.jsx("p",{className:a.default["modal-header__subtitle"],children:r})]}):i!=null&&l!=null?e.jsx("h2",{id:i,className:a.default["modal-header__title-sr"],children:l}):null,e.jsxs("div",{className:a.default["modal-header__actions"],children:[C,e.jsx(t.default,{...s,"aria-label":q,className:_.mergeClassNames(a.default["modal-header__close"],s==null?void 0:s.className),icon:e.jsx(h.default,{glyph:e.jsx(y,{}),size:"20"}),onClick:b})]})]}),c&&e.jsx("div",{className:a.default["modal-header__slot"],children:c})]})}exports.default=M;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),__z=require("@mattermost/compass-icons/components/close.js"),z=__z?.default??__z,__H=require("@mattermost/compass-icons/components/arrow-left.js"),H=__H?.default??__H,f=require("../icon/Icon.cjs"),j=require("../icon-button/IconButton.cjs"),x=require("../../utils/props.cjs"),a=require("./ModalHeader.module.scss.cjs");function I({className:N="",title:l,subtitle:r,subtitlePlacement:v="below",hideTitle:o=!1,titleId:c,showBackButton:b=!1,onBack:g,backLabel:q="Go back",backButtonProps:d,onClose:C,closeLabel:y="Close",closeButtonProps:s,divider:w=!0,headerAction:M,leading:m,headerSlot:n}){const i=!!m,u=!o&&!i&&l!=null,t=u&&r!=null,h=v==="beside"&&t,_=b?e.jsx(j.default,{...d,"aria-label":q,className:x.mergeClassNames(a.default["modal-header__back"],d==null?void 0:d.className),icon:e.jsx(f.default,{glyph:e.jsx(H,{}),size:"20"}),onClick:g}):null;return e.jsxs("div",{className:[a.default["modal-header"],!w&&a.default["modal-header--no-divider"],o&&!i&&a.default["modal-header--close-only"],i&&a.default["modal-header--has-leading"],n&&a.default["modal-header--has-slot"],N].filter(Boolean).join(" "),children:[e.jsxs("div",{className:a.default["modal-header__content"],children:[u?e.jsxs("div",{className:a.default["modal-header__titles"],children:[e.jsxs("div",{className:a.default["modal-header__primary"],children:[_,e.jsx("h2",{id:c,className:a.default["modal-header__title"],children:l}),h&&e.jsxs("div",{className:a.default["modal-header__subtitle-beside"],children:[e.jsx("span",{className:a.default["modal-header__subtitle-divider"],"aria-hidden":!0}),e.jsx("p",{className:a.default["modal-header__subtitle"],children:r})]})]}),t&&!h&&e.jsx("p",{className:a.default["modal-header__subtitle"],children:r})]}):c!=null&&l!=null?e.jsx("h2",{id:c,className:a.default["modal-header__title-sr"],children:l}):null,i&&e.jsxs("div",{className:a.default["modal-header__leading"],children:[_,m]}),e.jsxs("div",{className:a.default["modal-header__actions"],children:[M,e.jsx(j.default,{...s,"aria-label":y,className:x.mergeClassNames(a.default["modal-header__close"],s==null?void 0:s.className),icon:e.jsx(f.default,{glyph:e.jsx(z,{}),size:"20"}),onClick:C})]})]}),n&&e.jsx("div",{className:a.default["modal-header__slot"],children:n})]})}exports.default=I;
2
2
  //# sourceMappingURL=ModalHeader.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ModalHeader.cjs","sources":["../../../src/components/modal-header/ModalHeader.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport CloseIcon from '@mattermost/compass-icons/components/close';\nimport ArrowLeftIcon from '@mattermost/compass-icons/components/arrow-left';\nimport Icon from '@/components/icon/Icon';\nimport IconButton from '@/components/icon-button/IconButton';\nimport type { BuiltInButtonProps } from '@/utils/props';\nimport { mergeClassNames } from '@/utils/props';\nimport styles from './ModalHeader.module.scss';\n\nexport type ModalSubtitlePlacement = 'below' | 'beside';\n\nexport interface ModalHeaderProps {\n className?: string;\n /** Heading text. Omit (with `hideTitle`) for close-only headers. */\n title?: ReactNode;\n /** Optional secondary text — placement controlled by `subtitlePlacement`. */\n subtitle?: ReactNode;\n /**\n * Where the subtitle sits relative to the title.\n * Figma: Subtitle = Below | Beside. Default: `below`.\n */\n subtitlePlacement?: ModalSubtitlePlacement;\n /** When true, title is visually hidden (close-only chrome; keep `title`/`titleId` for a11y). */\n hideTitle?: boolean;\n /** id for the title element — pair with dialog `aria-labelledby`. */\n titleId?: string;\n /** Back arrow before the title. */\n showBackButton?: boolean;\n onBack?: () => void;\n /** Accessible name for the back button. Default: \"Go back\". */\n backLabel?: string;\n /** Extra attributes for the back button (e.g. `data-testid`). */\n backButtonProps?: BuiltInButtonProps;\n /** Called when the × is clicked. */\n onClose?: () => void;\n /** Accessible name for the close button. Default: \"Close\". */\n closeLabel?: string;\n /** Extra attributes for the close button (e.g. `data-testid`). */\n closeButtonProps?: BuiltInButtonProps;\n /** Show bottom border. Figma: Divider = On. Default: true. */\n divider?: boolean;\n /**\n * Optional control before close (Figma Controls = Button / Small Input / …).\n * Host owns the Button, TextInput, etc.\n */\n headerAction?: ReactNode;\n /**\n * Full-width slot rendered below the title row and above the divider.\n * Accepts any ReactNode — SearchInput, Tabs, a custom toolbar, etc.\n * Padding is provided by the slot container; no extra wrapper is needed.\n */\n headerSlot?: ReactNode;\n}\n\n/**\n * Modal Header — title row, optional subtitle (below or beside), optional back,\n * optional header action, and close. Compose into `Modal` or use standalone.\n *\n * @see https://www.figma.com/design/qdm5tKododENqnTvjLovDT/Patterns---Modals?node-id=789-15921\n */\nexport default function ModalHeader({\n className = '',\n title,\n subtitle,\n subtitlePlacement = 'below',\n hideTitle = false,\n titleId,\n showBackButton = false,\n onBack,\n backLabel = 'Go back',\n backButtonProps,\n onClose,\n closeLabel = 'Close',\n closeButtonProps,\n divider = true,\n headerAction,\n headerSlot,\n}: ModalHeaderProps) {\n const showTitleBlock = !hideTitle && title != null;\n const showSubtitle = showTitleBlock && subtitle != null;\n const beside = subtitlePlacement === 'beside' && showSubtitle;\n\n return (\n <div\n className={[\n styles['modal-header'],\n !divider && styles['modal-header--no-divider'],\n hideTitle && styles['modal-header--close-only'],\n headerSlot && styles['modal-header--has-slot'],\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <div className={styles['modal-header__content']}>\n {showTitleBlock ? (\n <div className={styles['modal-header__titles']}>\n <div className={styles['modal-header__primary']}>\n {showBackButton && (\n <IconButton\n {...backButtonProps}\n aria-label={backLabel}\n className={mergeClassNames(\n styles['modal-header__back'],\n backButtonProps?.className,\n )}\n icon={<Icon glyph={<ArrowLeftIcon />} size=\"20\" />}\n onClick={onBack}\n />\n )}\n <h2 id={titleId} className={styles['modal-header__title']}>\n {title}\n </h2>\n {beside && (\n <div className={styles['modal-header__subtitle-beside']}>\n <span\n className={styles['modal-header__subtitle-divider']}\n aria-hidden\n />\n <p className={styles['modal-header__subtitle']}>{subtitle}</p>\n </div>\n )}\n </div>\n {showSubtitle && !beside && (\n <p className={styles['modal-header__subtitle']}>{subtitle}</p>\n )}\n </div>\n ) : titleId != null && title != null ? (\n <h2 id={titleId} className={styles['modal-header__title-sr']}>\n {title}\n </h2>\n ) : null}\n\n <div className={styles['modal-header__actions']}>\n {headerAction}\n <IconButton\n {...closeButtonProps}\n aria-label={closeLabel}\n className={mergeClassNames(\n styles['modal-header__close'],\n closeButtonProps?.className,\n )}\n icon={<Icon glyph={<CloseIcon />} size=\"20\" />}\n onClick={onClose}\n />\n </div>\n </div>\n {headerSlot && (\n <div className={styles['modal-header__slot']}>{headerSlot}</div>\n )}\n </div>\n );\n}\n"],"names":["ModalHeader","className","title","subtitle","subtitlePlacement","hideTitle","titleId","showBackButton","onBack","backLabel","backButtonProps","onClose","closeLabel","closeButtonProps","divider","headerAction","headerSlot","showTitleBlock","showSubtitle","beside","jsxs","styles","jsx","IconButton","mergeClassNames","Icon","ArrowLeftIcon","CloseIcon"],"mappings":"4ZA4DA,SAAwBA,EAAY,CAClC,UAAAC,EAAY,GACZ,MAAAC,EACA,SAAAC,EACA,kBAAAC,EAAoB,QACpB,UAAAC,EAAY,GACZ,QAAAC,EACA,eAAAC,EAAiB,GACjB,OAAAC,EACA,UAAAC,EAAY,UACZ,gBAAAC,EACA,QAAAC,EACA,WAAAC,EAAa,QACb,iBAAAC,EACA,QAAAC,EAAU,GACV,aAAAC,EACA,WAAAC,CACF,EAAqB,CACnB,MAAMC,EAAiB,CAACZ,GAAaH,GAAS,KACxCgB,EAAeD,GAAkBd,GAAY,KAC7CgB,EAASf,IAAsB,UAAYc,EAEjD,OACEE,EAAAA,KAAC,MAAA,CACC,UAAW,CACTC,EAAAA,QAAO,cAAc,EACrB,CAACP,GAAWO,EAAAA,QAAO,0BAA0B,EAC7ChB,GAAagB,EAAAA,QAAO,0BAA0B,EAC9CL,GAAcK,EAAAA,QAAO,wBAAwB,EAC7CpB,CAAA,EAEC,OAAO,OAAO,EACd,KAAK,GAAG,EAEX,SAAA,CAAAmB,EAAAA,KAAC,MAAA,CAAI,UAAWC,EAAAA,QAAO,uBAAuB,EAC3C,SAAA,CAAAJ,EACCG,EAAAA,KAAC,MAAA,CAAI,UAAWC,UAAO,sBAAsB,EAC3C,SAAA,CAAAD,EAAAA,KAAC,MAAA,CAAI,UAAWC,EAAAA,QAAO,uBAAuB,EAC3C,SAAA,CAAAd,GACCe,EAAAA,IAACC,EAAAA,QAAA,CACE,GAAGb,EACJ,aAAYD,EACZ,UAAWe,EAAAA,gBACTH,EAAAA,QAAO,oBAAoB,EAC3BX,GAAA,YAAAA,EAAiB,SAAA,EAEnB,WAAOe,UAAA,CAAK,YAAQC,EAAA,EAAc,EAAI,KAAK,KAAK,EAChD,QAASlB,CAAA,CAAA,EAGbc,EAAAA,IAAC,MAAG,GAAIhB,EAAS,UAAWe,EAAAA,QAAO,qBAAqB,EACrD,SAAAnB,EACH,EACCiB,GACCC,EAAAA,KAAC,MAAA,CAAI,UAAWC,UAAO,+BAA+B,EACpD,SAAA,CAAAC,EAAAA,IAAC,OAAA,CACC,UAAWD,EAAAA,QAAO,gCAAgC,EAClD,cAAW,EAAA,CAAA,QAEZ,IAAA,CAAE,UAAWA,EAAAA,QAAO,wBAAwB,EAAI,SAAAlB,CAAA,CAAS,CAAA,CAAA,CAC5D,CAAA,EAEJ,EACCe,GAAgB,CAACC,GAChBG,EAAAA,IAAC,KAAE,UAAWD,EAAAA,QAAO,wBAAwB,EAAI,SAAAlB,CAAA,CAAS,CAAA,CAAA,CAE9D,EACEG,GAAW,MAAQJ,GAAS,KAC9BoB,EAAAA,IAAC,KAAA,CAAG,GAAIhB,EAAS,UAAWe,UAAO,wBAAwB,EACxD,WACH,EACE,KAEJD,EAAAA,KAAC,MAAA,CAAI,UAAWC,EAAAA,QAAO,uBAAuB,EAC3C,SAAA,CAAAN,EACDO,EAAAA,IAACC,EAAAA,QAAA,CACE,GAAGV,EACJ,aAAYD,EACZ,UAAWY,EAAAA,gBACTH,EAAAA,QAAO,qBAAqB,EAC5BR,GAAA,YAAAA,EAAkB,SAAA,EAEpB,WAAOY,UAAA,CAAK,YAAQE,EAAA,EAAU,EAAI,KAAK,KAAK,EAC5C,QAAShB,CAAA,CAAA,CACX,CAAA,CACF,CAAA,EACF,EACCK,GACCM,EAAAA,IAAC,MAAA,CAAI,UAAWD,EAAAA,QAAO,oBAAoB,EAAI,SAAAL,CAAA,CAAW,CAAA,CAAA,CAAA,CAIlE"}
1
+ {"version":3,"file":"ModalHeader.cjs","sources":["../../../src/components/modal-header/ModalHeader.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport CloseIcon from '@mattermost/compass-icons/components/close';\nimport ArrowLeftIcon from '@mattermost/compass-icons/components/arrow-left';\nimport Icon from '@/components/icon/Icon';\nimport IconButton from '@/components/icon-button/IconButton';\nimport type { BuiltInButtonProps } from '@/utils/props';\nimport { mergeClassNames } from '@/utils/props';\nimport styles from './ModalHeader.module.scss';\n\nexport type ModalSubtitlePlacement = 'below' | 'beside';\n\nexport interface ModalHeaderProps {\n className?: string;\n /** Heading text. Omit (with `hideTitle`) for close-only headers. */\n title?: ReactNode;\n /** Optional secondary text — placement controlled by `subtitlePlacement`. */\n subtitle?: ReactNode;\n /**\n * Where the subtitle sits relative to the title.\n * Figma: Subtitle = Below | Beside. Default: `below`.\n */\n subtitlePlacement?: ModalSubtitlePlacement;\n /** When true, title is visually hidden (close-only chrome; keep `title`/`titleId` for a11y). */\n hideTitle?: boolean;\n /** id for the title element — pair with dialog `aria-labelledby`. */\n titleId?: string;\n /** Back arrow before the title. */\n showBackButton?: boolean;\n onBack?: () => void;\n /** Accessible name for the back button. Default: \"Go back\". */\n backLabel?: string;\n /** Extra attributes for the back button (e.g. `data-testid`). */\n backButtonProps?: BuiltInButtonProps;\n /** Called when the × is clicked. */\n onClose?: () => void;\n /** Accessible name for the close button. Default: \"Close\". */\n closeLabel?: string;\n /** Extra attributes for the close button (e.g. `data-testid`). */\n closeButtonProps?: BuiltInButtonProps;\n /** Show bottom border. Figma: Divider = On. Default: true. */\n divider?: boolean;\n /**\n * Optional control before close (Figma Controls = Button / Small Input / …).\n * Host owns the Button, TextInput, etc.\n */\n headerAction?: ReactNode;\n /**\n * Custom content in the title position: left aligned, vertically centered\n * with the close button. Not wrapped in the heading and not given heading\n * type, so a control keeps its own styles. `title` stays the accessible\n * name and is visually hidden, the same as `hideTitle`. The subtitle is\n * omitted. `showBackButton` still renders before this content. Without\n * this prop, `hideTitle` stays the close-only header.\n */\n leading?: ReactNode;\n /**\n * Full-width slot rendered below the title row and above the divider.\n * Accepts any ReactNode — SearchInput, Tabs, a custom toolbar, etc.\n * Padding is provided by the slot container; no extra wrapper is needed.\n */\n headerSlot?: ReactNode;\n}\n\n/**\n * Modal Header — title row, optional subtitle (below or beside), optional\n * leading content in place of the visible title, optional back, optional\n * header action, and close. Compose into `Modal` or use standalone.\n *\n * @see https://www.figma.com/design/qdm5tKododENqnTvjLovDT/Patterns---Modals?node-id=789-15921\n */\nexport default function ModalHeader({\n className = '',\n title,\n subtitle,\n subtitlePlacement = 'below',\n hideTitle = false,\n titleId,\n showBackButton = false,\n onBack,\n backLabel = 'Go back',\n backButtonProps,\n onClose,\n closeLabel = 'Close',\n closeButtonProps,\n divider = true,\n headerAction,\n leading,\n headerSlot,\n}: ModalHeaderProps) {\n const hasLeading = Boolean(leading);\n const showTitleBlock = !hideTitle && !hasLeading && title != null;\n const showSubtitle = showTitleBlock && subtitle != null;\n const beside = subtitlePlacement === 'beside' && showSubtitle;\n const backButton = showBackButton ? (\n <IconButton\n {...backButtonProps}\n aria-label={backLabel}\n className={mergeClassNames(\n styles['modal-header__back'],\n backButtonProps?.className,\n )}\n icon={<Icon glyph={<ArrowLeftIcon />} size=\"20\" />}\n onClick={onBack}\n />\n ) : null;\n\n return (\n <div\n className={[\n styles['modal-header'],\n !divider && styles['modal-header--no-divider'],\n hideTitle && !hasLeading && styles['modal-header--close-only'],\n hasLeading && styles['modal-header--has-leading'],\n headerSlot && styles['modal-header--has-slot'],\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <div className={styles['modal-header__content']}>\n {showTitleBlock ? (\n <div className={styles['modal-header__titles']}>\n <div className={styles['modal-header__primary']}>\n {backButton}\n <h2 id={titleId} className={styles['modal-header__title']}>\n {title}\n </h2>\n {beside && (\n <div className={styles['modal-header__subtitle-beside']}>\n <span\n className={styles['modal-header__subtitle-divider']}\n aria-hidden\n />\n <p className={styles['modal-header__subtitle']}>{subtitle}</p>\n </div>\n )}\n </div>\n {showSubtitle && !beside && (\n <p className={styles['modal-header__subtitle']}>{subtitle}</p>\n )}\n </div>\n ) : titleId != null && title != null ? (\n <h2 id={titleId} className={styles['modal-header__title-sr']}>\n {title}\n </h2>\n ) : null}\n\n {hasLeading && (\n <div className={styles['modal-header__leading']}>\n {backButton}\n {leading}\n </div>\n )}\n\n <div className={styles['modal-header__actions']}>\n {headerAction}\n <IconButton\n {...closeButtonProps}\n aria-label={closeLabel}\n className={mergeClassNames(\n styles['modal-header__close'],\n closeButtonProps?.className,\n )}\n icon={<Icon glyph={<CloseIcon />} size=\"20\" />}\n onClick={onClose}\n />\n </div>\n </div>\n {headerSlot && (\n <div className={styles['modal-header__slot']}>{headerSlot}</div>\n )}\n </div>\n );\n}\n"],"names":["ModalHeader","className","title","subtitle","subtitlePlacement","hideTitle","titleId","showBackButton","onBack","backLabel","backButtonProps","onClose","closeLabel","closeButtonProps","divider","headerAction","leading","headerSlot","hasLeading","showTitleBlock","showSubtitle","beside","backButton","jsx","IconButton","mergeClassNames","styles","Icon","ArrowLeftIcon","jsxs","CloseIcon"],"mappings":"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"}
@@ -1 +1 @@
1
- ._modal-header_6duhj_2{display:flex;flex-direction:column;flex-shrink:0;border-bottom:1px solid rgba(var(--center-channel-color-rgb),.12)}._modal-header--no-divider_6duhj_8{border-bottom:none}._modal-header--no-divider_6duhj_8 ._modal-header__content_6duhj_11,._modal-header--has-slot_6duhj_14 ._modal-header__content_6duhj_11{padding-bottom:0}._modal-header--close-only_6duhj_17 ._modal-header__content_6duhj_11{justify-content:flex-end}._modal-header__content_6duhj_11{display:flex;align-items:flex-start;gap:10px;width:100%;padding:var(--spacing-xxl) var(--spacing-xxxl)}._modal-header__titles_6duhj_27{display:flex;flex:1 1 auto;flex-direction:column;align-items:flex-start;gap:var(--spacing-m);min-width:0;padding:var(--spacing-xxxxs) 0}._modal-header__primary_6duhj_36{display:flex;align-items:center;gap:var(--spacing-m);width:100%;min-height:var(--line-height-500)}._modal-header__title_6duhj_27{flex:0 1 auto;min-width:0;margin:0;font-family:var(--font-family-heading);font-size:var(--font-size-500);font-weight:var(--font-weight-semibold);line-height:var(--line-height-500);color:var(--center-channel-color)}._modal-header__title-sr_6duhj_53{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}._modal-header__subtitle_6duhj_64{margin:0;font-family:var(--font-family-body);font-size:var(--font-size-75);font-weight:var(--font-weight-regular);line-height:var(--line-height-75);color:rgba(var(--center-channel-color-rgb),.72)}._modal-header__subtitle-beside_6duhj_72{display:flex;flex-shrink:0;align-items:center;gap:var(--spacing-xs)}._modal-header__subtitle-beside_6duhj_72 ._modal-header__subtitle_6duhj_64{line-height:var(--line-height-200);white-space:nowrap}._modal-header__subtitle-divider_6duhj_82{display:block;width:1px;height:var(--line-height-500);background-color:rgba(var(--center-channel-color-rgb),.16)}._modal-header__actions_6duhj_88{display:flex;flex-shrink:0;align-items:center;justify-content:flex-end;gap:7px;height:28px}._modal-header__back_6duhj_96{margin-left:-12px;margin-top:-6px;margin-bottom:-6px}._modal-header__close_6duhj_101{margin-right:-12px;margin-top:-6px;margin-bottom:-6px}._modal-header__slot_6duhj_106{padding:var(--spacing-l) var(--spacing-xxxl) var(--spacing-xxl)}
1
+ ._modal-header_14bu2_13{display:flex;flex-direction:column;flex-shrink:0;border-bottom:1px solid rgba(var(--center-channel-color-rgb),.12)}._modal-header--no-divider_14bu2_19{border-bottom:none}._modal-header--no-divider_14bu2_19 ._modal-header__content_14bu2_22,._modal-header--has-slot_14bu2_25 ._modal-header__content_14bu2_22{padding-bottom:0}._modal-header--close-only_14bu2_28 ._modal-header__content_14bu2_22{justify-content:flex-end}._modal-header--has-leading_14bu2_31 ._modal-header__content_14bu2_22{align-items:center}._modal-header__content_14bu2_22{display:flex;align-items:flex-start;gap:var(--spacing-s);width:100%;padding:var(--spacing-xxl) var(--spacing-xxxl)}._modal-header__leading_14bu2_41{display:flex;flex:1 1 auto;align-items:center;gap:var(--spacing-m);min-width:0}._modal-header__titles_14bu2_48{display:flex;flex:1 1 auto;flex-direction:column;align-items:flex-start;gap:var(--spacing-m);min-width:0;padding:var(--spacing-xxxxs) 0}._modal-header__primary_14bu2_57{display:flex;align-items:center;gap:var(--spacing-m);width:100%;min-height:var(--line-height-500)}._modal-header__title_14bu2_48{flex:0 1 auto;min-width:0;margin:0;font-family:var(--font-family-heading);font-size:var(--font-size-500);font-weight:var(--font-weight-semibold);line-height:var(--line-height-500);color:var(--center-channel-color)}._modal-header__title-sr_14bu2_74{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}._modal-header__subtitle_14bu2_85{margin:0;font-family:var(--font-family-body);font-size:var(--font-size-75);font-weight:var(--font-weight-regular);line-height:var(--line-height-75);color:rgba(var(--center-channel-color-rgb),.72)}._modal-header__subtitle-beside_14bu2_93{display:flex;flex-shrink:0;align-items:center;gap:var(--spacing-xs)}._modal-header__subtitle-beside_14bu2_93 ._modal-header__subtitle_14bu2_85{line-height:var(--line-height-200);white-space:nowrap}._modal-header__subtitle-divider_14bu2_103{display:block;width:1px;height:var(--line-height-500);background-color:rgba(var(--center-channel-color-rgb),.16)}._modal-header__actions_14bu2_109{display:flex;flex-shrink:0;align-items:center;justify-content:flex-end;gap:7px;height:28px}._modal-header__back_14bu2_117{margin-left:calc(-1 * var(--spacing-m));margin-top:calc(-1 * var(--spacing-xxs));margin-bottom:calc(-1 * var(--spacing-xxs))}._modal-header__close_14bu2_122{margin-right:calc(-1 * var(--spacing-m));margin-top:calc(-1 * var(--spacing-xxs));margin-bottom:calc(-1 * var(--spacing-xxs))}._modal-header__slot_14bu2_127{padding:var(--spacing-l) var(--spacing-xxxl) var(--spacing-xxl)}
@@ -36,6 +36,15 @@ export interface ModalHeaderProps {
36
36
  * Host owns the Button, TextInput, etc.
37
37
  */
38
38
  headerAction?: ReactNode;
39
+ /**
40
+ * Custom content in the title position: left aligned, vertically centered
41
+ * with the close button. Not wrapped in the heading and not given heading
42
+ * type, so a control keeps its own styles. `title` stays the accessible
43
+ * name and is visually hidden, the same as `hideTitle`. The subtitle is
44
+ * omitted. `showBackButton` still renders before this content. Without
45
+ * this prop, `hideTitle` stays the close-only header.
46
+ */
47
+ leading?: ReactNode;
39
48
  /**
40
49
  * Full-width slot rendered below the title row and above the divider.
41
50
  * Accepts any ReactNode — SearchInput, Tabs, a custom toolbar, etc.
@@ -44,10 +53,11 @@ export interface ModalHeaderProps {
44
53
  headerSlot?: ReactNode;
45
54
  }
46
55
  /**
47
- * Modal Header — title row, optional subtitle (below or beside), optional back,
48
- * optional header action, and close. Compose into `Modal` or use standalone.
56
+ * Modal Header — title row, optional subtitle (below or beside), optional
57
+ * leading content in place of the visible title, optional back, optional
58
+ * header action, and close. Compose into `Modal` or use standalone.
49
59
  *
50
60
  * @see https://www.figma.com/design/qdm5tKododENqnTvjLovDT/Patterns---Modals?node-id=789-15921
51
61
  */
52
- export default function ModalHeader({ className, title, subtitle, subtitlePlacement, hideTitle, titleId, showBackButton, onBack, backLabel, backButtonProps, onClose, closeLabel, closeButtonProps, divider, headerAction, headerSlot, }: ModalHeaderProps): import("react/jsx-runtime").JSX.Element;
62
+ export default function ModalHeader({ className, title, subtitle, subtitlePlacement, hideTitle, titleId, showBackButton, onBack, backLabel, backButtonProps, onClose, closeLabel, closeButtonProps, divider, headerAction, leading, headerSlot, }: ModalHeaderProps): import("react/jsx-runtime").JSX.Element;
53
63
  //# sourceMappingURL=ModalHeader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ModalHeader.d.ts","sourceRoot":"","sources":["../../../src/components/modal-header/ModalHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAKvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAIxD,MAAM,MAAM,sBAAsB,GAAG,OAAO,GAAG,QAAQ,CAAC;AAExD,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oEAAoE;IACpE,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,sBAAsB,CAAC;IAC3C,gGAAgG;IAChG,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mCAAmC;IACnC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,eAAe,CAAC,EAAE,kBAAkB,CAAC;IACrC,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kEAAkE;IAClE,gBAAgB,CAAC,EAAE,kBAAkB,CAAC;IACtC,8DAA8D;IAC9D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB;;;;OAIG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,SAAc,EACd,KAAK,EACL,QAAQ,EACR,iBAA2B,EAC3B,SAAiB,EACjB,OAAO,EACP,cAAsB,EACtB,MAAM,EACN,SAAqB,EACrB,eAAe,EACf,OAAO,EACP,UAAoB,EACpB,gBAAgB,EAChB,OAAc,EACd,YAAY,EACZ,UAAU,GACX,EAAE,gBAAgB,2CA2ElB"}
1
+ {"version":3,"file":"ModalHeader.d.ts","sourceRoot":"","sources":["../../../src/components/modal-header/ModalHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAKvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAIxD,MAAM,MAAM,sBAAsB,GAAG,OAAO,GAAG,QAAQ,CAAC;AAExD,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oEAAoE;IACpE,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,sBAAsB,CAAC;IAC3C,gGAAgG;IAChG,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mCAAmC;IACnC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,eAAe,CAAC,EAAE,kBAAkB,CAAC;IACrC,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kEAAkE;IAClE,gBAAgB,CAAC,EAAE,kBAAkB,CAAC;IACtC,8DAA8D;IAC9D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB;;;;OAIG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;CACxB;AAED;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,SAAc,EACd,KAAK,EACL,QAAQ,EACR,iBAA2B,EAC3B,SAAiB,EACjB,OAAO,EACP,cAAsB,EACtB,MAAM,EACN,SAAqB,EACrB,eAAe,EACf,OAAO,EACP,UAAoB,EACpB,gBAAgB,EAChB,OAAc,EACd,YAAY,EACZ,OAAO,EACP,UAAU,GACX,EAAE,gBAAgB,2CAqFlB"}
@@ -1,58 +1,60 @@
1
- import { jsxs as l, jsx as a } from "react/jsx-runtime";
2
- import __x from "@mattermost/compass-icons/components/close.js";const x=__x&&__x.default?__x.default:__x;
3
- import __z from "@mattermost/compass-icons/components/arrow-left.js";const z=__z&&__z.default?__z.default:__z;
4
- import N from "../icon/Icon.js";
5
- import f from "../icon-button/IconButton.js";
6
- import { mergeClassNames as v } from "../../utils/props.js";
1
+ import { jsx as a, jsxs as l } from "react/jsx-runtime";
2
+ import __L from "@mattermost/compass-icons/components/close.js";const L=__L&&__L.default?__L.default:__L;
3
+ import __k from "@mattermost/compass-icons/components/arrow-left.js";const k=__k&&__k.default?__k.default:__k;
4
+ import v from "../icon/Icon.js";
5
+ import b from "../icon-button/IconButton.js";
6
+ import { mergeClassNames as u } from "../../utils/props.js";
7
7
  import e from "./ModalHeader.module.scss.js";
8
- function q({
9
- className: b = "",
8
+ function F({
9
+ className: g = "",
10
10
  title: d,
11
- subtitle: i,
12
- subtitlePlacement: t = "below",
13
- hideTitle: c = !1,
14
- titleId: r,
15
- showBackButton: y = !1,
16
- onBack: C,
17
- backLabel: p = "Go back",
11
+ subtitle: r,
12
+ subtitlePlacement: y = "below",
13
+ hideTitle: h = !1,
14
+ titleId: o,
15
+ showBackButton: C = !1,
16
+ onBack: p,
17
+ backLabel: w = "Go back",
18
18
  backButtonProps: s,
19
- onClose: u,
20
- closeLabel: w = "Close",
21
- closeButtonProps: m,
22
- divider: g = !0,
23
- headerAction: j,
24
- headerSlot: o
19
+ onClose: j,
20
+ closeLabel: x = "Close",
21
+ closeButtonProps: i,
22
+ divider: z = !0,
23
+ headerAction: I,
24
+ leading: n,
25
+ headerSlot: c
25
26
  }) {
26
- const h = !c && d != null, n = h && i != null, _ = t === "beside" && n;
27
+ const m = !!n, _ = !h && !m && d != null, N = _ && r != null, f = y === "beside" && N, t = C ? /* @__PURE__ */ a(
28
+ b,
29
+ {
30
+ ...s,
31
+ "aria-label": w,
32
+ className: u(
33
+ e["modal-header__back"],
34
+ s == null ? void 0 : s.className
35
+ ),
36
+ icon: /* @__PURE__ */ a(v, { glyph: /* @__PURE__ */ a(k, {}), size: "20" }),
37
+ onClick: p
38
+ }
39
+ ) : null;
27
40
  return /* @__PURE__ */ l(
28
41
  "div",
29
42
  {
30
43
  className: [
31
44
  e["modal-header"],
32
- !g && e["modal-header--no-divider"],
33
- c && e["modal-header--close-only"],
34
- o && e["modal-header--has-slot"],
35
- b
45
+ !z && e["modal-header--no-divider"],
46
+ h && !m && e["modal-header--close-only"],
47
+ m && e["modal-header--has-leading"],
48
+ c && e["modal-header--has-slot"],
49
+ g
36
50
  ].filter(Boolean).join(" "),
37
51
  children: [
38
52
  /* @__PURE__ */ l("div", { className: e["modal-header__content"], children: [
39
- h ? /* @__PURE__ */ l("div", { className: e["modal-header__titles"], children: [
53
+ _ ? /* @__PURE__ */ l("div", { className: e["modal-header__titles"], children: [
40
54
  /* @__PURE__ */ l("div", { className: e["modal-header__primary"], children: [
41
- y && /* @__PURE__ */ a(
42
- f,
43
- {
44
- ...s,
45
- "aria-label": p,
46
- className: v(
47
- e["modal-header__back"],
48
- s == null ? void 0 : s.className
49
- ),
50
- icon: /* @__PURE__ */ a(N, { glyph: /* @__PURE__ */ a(z, {}), size: "20" }),
51
- onClick: C
52
- }
53
- ),
54
- /* @__PURE__ */ a("h2", { id: r, className: e["modal-header__title"], children: d }),
55
- _ && /* @__PURE__ */ l("div", { className: e["modal-header__subtitle-beside"], children: [
55
+ t,
56
+ /* @__PURE__ */ a("h2", { id: o, className: e["modal-header__title"], children: d }),
57
+ f && /* @__PURE__ */ l("div", { className: e["modal-header__subtitle-beside"], children: [
56
58
  /* @__PURE__ */ a(
57
59
  "span",
58
60
  {
@@ -60,34 +62,38 @@ function q({
60
62
  "aria-hidden": !0
61
63
  }
62
64
  ),
63
- /* @__PURE__ */ a("p", { className: e["modal-header__subtitle"], children: i })
65
+ /* @__PURE__ */ a("p", { className: e["modal-header__subtitle"], children: r })
64
66
  ] })
65
67
  ] }),
66
- n && !_ && /* @__PURE__ */ a("p", { className: e["modal-header__subtitle"], children: i })
67
- ] }) : r != null && d != null ? /* @__PURE__ */ a("h2", { id: r, className: e["modal-header__title-sr"], children: d }) : null,
68
+ N && !f && /* @__PURE__ */ a("p", { className: e["modal-header__subtitle"], children: r })
69
+ ] }) : o != null && d != null ? /* @__PURE__ */ a("h2", { id: o, className: e["modal-header__title-sr"], children: d }) : null,
70
+ m && /* @__PURE__ */ l("div", { className: e["modal-header__leading"], children: [
71
+ t,
72
+ n
73
+ ] }),
68
74
  /* @__PURE__ */ l("div", { className: e["modal-header__actions"], children: [
69
- j,
75
+ I,
70
76
  /* @__PURE__ */ a(
71
- f,
77
+ b,
72
78
  {
73
- ...m,
74
- "aria-label": w,
75
- className: v(
79
+ ...i,
80
+ "aria-label": x,
81
+ className: u(
76
82
  e["modal-header__close"],
77
- m == null ? void 0 : m.className
83
+ i == null ? void 0 : i.className
78
84
  ),
79
- icon: /* @__PURE__ */ a(N, { glyph: /* @__PURE__ */ a(x, {}), size: "20" }),
80
- onClick: u
85
+ icon: /* @__PURE__ */ a(v, { glyph: /* @__PURE__ */ a(L, {}), size: "20" }),
86
+ onClick: j
81
87
  }
82
88
  )
83
89
  ] })
84
90
  ] }),
85
- o && /* @__PURE__ */ a("div", { className: e["modal-header__slot"], children: o })
91
+ c && /* @__PURE__ */ a("div", { className: e["modal-header__slot"], children: c })
86
92
  ]
87
93
  }
88
94
  );
89
95
  }
90
96
  export {
91
- q as default
97
+ F as default
92
98
  };
93
99
  //# sourceMappingURL=ModalHeader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ModalHeader.js","sources":["../../../src/components/modal-header/ModalHeader.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport CloseIcon from '@mattermost/compass-icons/components/close';\nimport ArrowLeftIcon from '@mattermost/compass-icons/components/arrow-left';\nimport Icon from '@/components/icon/Icon';\nimport IconButton from '@/components/icon-button/IconButton';\nimport type { BuiltInButtonProps } from '@/utils/props';\nimport { mergeClassNames } from '@/utils/props';\nimport styles from './ModalHeader.module.scss';\n\nexport type ModalSubtitlePlacement = 'below' | 'beside';\n\nexport interface ModalHeaderProps {\n className?: string;\n /** Heading text. Omit (with `hideTitle`) for close-only headers. */\n title?: ReactNode;\n /** Optional secondary text — placement controlled by `subtitlePlacement`. */\n subtitle?: ReactNode;\n /**\n * Where the subtitle sits relative to the title.\n * Figma: Subtitle = Below | Beside. Default: `below`.\n */\n subtitlePlacement?: ModalSubtitlePlacement;\n /** When true, title is visually hidden (close-only chrome; keep `title`/`titleId` for a11y). */\n hideTitle?: boolean;\n /** id for the title element — pair with dialog `aria-labelledby`. */\n titleId?: string;\n /** Back arrow before the title. */\n showBackButton?: boolean;\n onBack?: () => void;\n /** Accessible name for the back button. Default: \"Go back\". */\n backLabel?: string;\n /** Extra attributes for the back button (e.g. `data-testid`). */\n backButtonProps?: BuiltInButtonProps;\n /** Called when the × is clicked. */\n onClose?: () => void;\n /** Accessible name for the close button. Default: \"Close\". */\n closeLabel?: string;\n /** Extra attributes for the close button (e.g. `data-testid`). */\n closeButtonProps?: BuiltInButtonProps;\n /** Show bottom border. Figma: Divider = On. Default: true. */\n divider?: boolean;\n /**\n * Optional control before close (Figma Controls = Button / Small Input / …).\n * Host owns the Button, TextInput, etc.\n */\n headerAction?: ReactNode;\n /**\n * Full-width slot rendered below the title row and above the divider.\n * Accepts any ReactNode — SearchInput, Tabs, a custom toolbar, etc.\n * Padding is provided by the slot container; no extra wrapper is needed.\n */\n headerSlot?: ReactNode;\n}\n\n/**\n * Modal Header — title row, optional subtitle (below or beside), optional back,\n * optional header action, and close. Compose into `Modal` or use standalone.\n *\n * @see https://www.figma.com/design/qdm5tKododENqnTvjLovDT/Patterns---Modals?node-id=789-15921\n */\nexport default function ModalHeader({\n className = '',\n title,\n subtitle,\n subtitlePlacement = 'below',\n hideTitle = false,\n titleId,\n showBackButton = false,\n onBack,\n backLabel = 'Go back',\n backButtonProps,\n onClose,\n closeLabel = 'Close',\n closeButtonProps,\n divider = true,\n headerAction,\n headerSlot,\n}: ModalHeaderProps) {\n const showTitleBlock = !hideTitle && title != null;\n const showSubtitle = showTitleBlock && subtitle != null;\n const beside = subtitlePlacement === 'beside' && showSubtitle;\n\n return (\n <div\n className={[\n styles['modal-header'],\n !divider && styles['modal-header--no-divider'],\n hideTitle && styles['modal-header--close-only'],\n headerSlot && styles['modal-header--has-slot'],\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <div className={styles['modal-header__content']}>\n {showTitleBlock ? (\n <div className={styles['modal-header__titles']}>\n <div className={styles['modal-header__primary']}>\n {showBackButton && (\n <IconButton\n {...backButtonProps}\n aria-label={backLabel}\n className={mergeClassNames(\n styles['modal-header__back'],\n backButtonProps?.className,\n )}\n icon={<Icon glyph={<ArrowLeftIcon />} size=\"20\" />}\n onClick={onBack}\n />\n )}\n <h2 id={titleId} className={styles['modal-header__title']}>\n {title}\n </h2>\n {beside && (\n <div className={styles['modal-header__subtitle-beside']}>\n <span\n className={styles['modal-header__subtitle-divider']}\n aria-hidden\n />\n <p className={styles['modal-header__subtitle']}>{subtitle}</p>\n </div>\n )}\n </div>\n {showSubtitle && !beside && (\n <p className={styles['modal-header__subtitle']}>{subtitle}</p>\n )}\n </div>\n ) : titleId != null && title != null ? (\n <h2 id={titleId} className={styles['modal-header__title-sr']}>\n {title}\n </h2>\n ) : null}\n\n <div className={styles['modal-header__actions']}>\n {headerAction}\n <IconButton\n {...closeButtonProps}\n aria-label={closeLabel}\n className={mergeClassNames(\n styles['modal-header__close'],\n closeButtonProps?.className,\n )}\n icon={<Icon glyph={<CloseIcon />} size=\"20\" />}\n onClick={onClose}\n />\n </div>\n </div>\n {headerSlot && (\n <div className={styles['modal-header__slot']}>{headerSlot}</div>\n )}\n </div>\n );\n}\n"],"names":["ModalHeader","className","title","subtitle","subtitlePlacement","hideTitle","titleId","showBackButton","onBack","backLabel","backButtonProps","onClose","closeLabel","closeButtonProps","divider","headerAction","headerSlot","showTitleBlock","showSubtitle","beside","jsxs","styles","jsx","IconButton","mergeClassNames","Icon","ArrowLeftIcon","CloseIcon"],"mappings":"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"}
1
+ {"version":3,"file":"ModalHeader.js","sources":["../../../src/components/modal-header/ModalHeader.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport CloseIcon from '@mattermost/compass-icons/components/close';\nimport ArrowLeftIcon from '@mattermost/compass-icons/components/arrow-left';\nimport Icon from '@/components/icon/Icon';\nimport IconButton from '@/components/icon-button/IconButton';\nimport type { BuiltInButtonProps } from '@/utils/props';\nimport { mergeClassNames } from '@/utils/props';\nimport styles from './ModalHeader.module.scss';\n\nexport type ModalSubtitlePlacement = 'below' | 'beside';\n\nexport interface ModalHeaderProps {\n className?: string;\n /** Heading text. Omit (with `hideTitle`) for close-only headers. */\n title?: ReactNode;\n /** Optional secondary text — placement controlled by `subtitlePlacement`. */\n subtitle?: ReactNode;\n /**\n * Where the subtitle sits relative to the title.\n * Figma: Subtitle = Below | Beside. Default: `below`.\n */\n subtitlePlacement?: ModalSubtitlePlacement;\n /** When true, title is visually hidden (close-only chrome; keep `title`/`titleId` for a11y). */\n hideTitle?: boolean;\n /** id for the title element — pair with dialog `aria-labelledby`. */\n titleId?: string;\n /** Back arrow before the title. */\n showBackButton?: boolean;\n onBack?: () => void;\n /** Accessible name for the back button. Default: \"Go back\". */\n backLabel?: string;\n /** Extra attributes for the back button (e.g. `data-testid`). */\n backButtonProps?: BuiltInButtonProps;\n /** Called when the × is clicked. */\n onClose?: () => void;\n /** Accessible name for the close button. Default: \"Close\". */\n closeLabel?: string;\n /** Extra attributes for the close button (e.g. `data-testid`). */\n closeButtonProps?: BuiltInButtonProps;\n /** Show bottom border. Figma: Divider = On. Default: true. */\n divider?: boolean;\n /**\n * Optional control before close (Figma Controls = Button / Small Input / …).\n * Host owns the Button, TextInput, etc.\n */\n headerAction?: ReactNode;\n /**\n * Custom content in the title position: left aligned, vertically centered\n * with the close button. Not wrapped in the heading and not given heading\n * type, so a control keeps its own styles. `title` stays the accessible\n * name and is visually hidden, the same as `hideTitle`. The subtitle is\n * omitted. `showBackButton` still renders before this content. Without\n * this prop, `hideTitle` stays the close-only header.\n */\n leading?: ReactNode;\n /**\n * Full-width slot rendered below the title row and above the divider.\n * Accepts any ReactNode — SearchInput, Tabs, a custom toolbar, etc.\n * Padding is provided by the slot container; no extra wrapper is needed.\n */\n headerSlot?: ReactNode;\n}\n\n/**\n * Modal Header — title row, optional subtitle (below or beside), optional\n * leading content in place of the visible title, optional back, optional\n * header action, and close. Compose into `Modal` or use standalone.\n *\n * @see https://www.figma.com/design/qdm5tKododENqnTvjLovDT/Patterns---Modals?node-id=789-15921\n */\nexport default function ModalHeader({\n className = '',\n title,\n subtitle,\n subtitlePlacement = 'below',\n hideTitle = false,\n titleId,\n showBackButton = false,\n onBack,\n backLabel = 'Go back',\n backButtonProps,\n onClose,\n closeLabel = 'Close',\n closeButtonProps,\n divider = true,\n headerAction,\n leading,\n headerSlot,\n}: ModalHeaderProps) {\n const hasLeading = Boolean(leading);\n const showTitleBlock = !hideTitle && !hasLeading && title != null;\n const showSubtitle = showTitleBlock && subtitle != null;\n const beside = subtitlePlacement === 'beside' && showSubtitle;\n const backButton = showBackButton ? (\n <IconButton\n {...backButtonProps}\n aria-label={backLabel}\n className={mergeClassNames(\n styles['modal-header__back'],\n backButtonProps?.className,\n )}\n icon={<Icon glyph={<ArrowLeftIcon />} size=\"20\" />}\n onClick={onBack}\n />\n ) : null;\n\n return (\n <div\n className={[\n styles['modal-header'],\n !divider && styles['modal-header--no-divider'],\n hideTitle && !hasLeading && styles['modal-header--close-only'],\n hasLeading && styles['modal-header--has-leading'],\n headerSlot && styles['modal-header--has-slot'],\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <div className={styles['modal-header__content']}>\n {showTitleBlock ? (\n <div className={styles['modal-header__titles']}>\n <div className={styles['modal-header__primary']}>\n {backButton}\n <h2 id={titleId} className={styles['modal-header__title']}>\n {title}\n </h2>\n {beside && (\n <div className={styles['modal-header__subtitle-beside']}>\n <span\n className={styles['modal-header__subtitle-divider']}\n aria-hidden\n />\n <p className={styles['modal-header__subtitle']}>{subtitle}</p>\n </div>\n )}\n </div>\n {showSubtitle && !beside && (\n <p className={styles['modal-header__subtitle']}>{subtitle}</p>\n )}\n </div>\n ) : titleId != null && title != null ? (\n <h2 id={titleId} className={styles['modal-header__title-sr']}>\n {title}\n </h2>\n ) : null}\n\n {hasLeading && (\n <div className={styles['modal-header__leading']}>\n {backButton}\n {leading}\n </div>\n )}\n\n <div className={styles['modal-header__actions']}>\n {headerAction}\n <IconButton\n {...closeButtonProps}\n aria-label={closeLabel}\n className={mergeClassNames(\n styles['modal-header__close'],\n closeButtonProps?.className,\n )}\n icon={<Icon glyph={<CloseIcon />} size=\"20\" />}\n onClick={onClose}\n />\n </div>\n </div>\n {headerSlot && (\n <div className={styles['modal-header__slot']}>{headerSlot}</div>\n )}\n </div>\n );\n}\n"],"names":["ModalHeader","className","title","subtitle","subtitlePlacement","hideTitle","titleId","showBackButton","onBack","backLabel","backButtonProps","onClose","closeLabel","closeButtonProps","divider","headerAction","leading","headerSlot","hasLeading","showTitleBlock","showSubtitle","beside","backButton","jsx","IconButton","mergeClassNames","styles","Icon","ArrowLeftIcon","jsxs","CloseIcon"],"mappings":";;;;;;;AAsEA,SAAwBA,EAAY;AAAA,EAClC,WAAAC,IAAY;AAAA,EACZ,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,mBAAAC,IAAoB;AAAA,EACpB,WAAAC,IAAY;AAAA,EACZ,SAAAC;AAAA,EACA,gBAAAC,IAAiB;AAAA,EACjB,QAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,iBAAAC;AAAA,EACA,SAAAC;AAAA,EACA,YAAAC,IAAa;AAAA,EACb,kBAAAC;AAAA,EACA,SAAAC,IAAU;AAAA,EACV,cAAAC;AAAA,EACA,SAAAC;AAAA,EACA,YAAAC;AACF,GAAqB;AACnB,QAAMC,IAAa,EAAQF,GACrBG,IAAiB,CAACd,KAAa,CAACa,KAAchB,KAAS,MACvDkB,IAAeD,KAAkBhB,KAAY,MAC7CkB,IAASjB,MAAsB,YAAYgB,GAC3CE,IAAaf,IACjB,gBAAAgB;AAAA,IAACC;AAAA,IAAA;AAAA,MACE,GAAGd;AAAA,MACJ,cAAYD;AAAA,MACZ,WAAWgB;AAAA,QACTC,EAAO,oBAAoB;AAAA,QAC3BhB,KAAA,gBAAAA,EAAiB;AAAA,MAAA;AAAA,MAEnB,wBAAOiB,GAAA,EAAK,yBAAQC,GAAA,EAAc,GAAI,MAAK,MAAK;AAAA,MAChD,SAASpB;AAAA,IAAA;AAAA,EAAA,IAET;AAEJ,SACE,gBAAAqB;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW;AAAA,QACTH,EAAO,cAAc;AAAA,QACrB,CAACZ,KAAWY,EAAO,0BAA0B;AAAA,QAC7CrB,KAAa,CAACa,KAAcQ,EAAO,0BAA0B;AAAA,QAC7DR,KAAcQ,EAAO,2BAA2B;AAAA,QAChDT,KAAcS,EAAO,wBAAwB;AAAA,QAC7CzB;AAAA,MAAA,EAEC,OAAO,OAAO,EACd,KAAK,GAAG;AAAA,MAEX,UAAA;AAAA,QAAA,gBAAA4B,EAAC,OAAA,EAAI,WAAWH,EAAO,uBAAuB,GAC3C,UAAA;AAAA,UAAAP,IACC,gBAAAU,EAAC,OAAA,EAAI,WAAWH,EAAO,sBAAsB,GAC3C,UAAA;AAAA,YAAA,gBAAAG,EAAC,OAAA,EAAI,WAAWH,EAAO,uBAAuB,GAC3C,UAAA;AAAA,cAAAJ;AAAA,cACD,gBAAAC,EAAC,QAAG,IAAIjB,GAAS,WAAWoB,EAAO,qBAAqB,GACrD,UAAAxB,GACH;AAAA,cACCmB,KACC,gBAAAQ,EAAC,OAAA,EAAI,WAAWH,EAAO,+BAA+B,GACpD,UAAA;AAAA,gBAAA,gBAAAH;AAAA,kBAAC;AAAA,kBAAA;AAAA,oBACC,WAAWG,EAAO,gCAAgC;AAAA,oBAClD,eAAW;AAAA,kBAAA;AAAA,gBAAA;AAAA,kCAEZ,KAAA,EAAE,WAAWA,EAAO,wBAAwB,GAAI,UAAAvB,EAAA,CAAS;AAAA,cAAA,EAAA,CAC5D;AAAA,YAAA,GAEJ;AAAA,YACCiB,KAAgB,CAACC,KAChB,gBAAAE,EAAC,OAAE,WAAWG,EAAO,wBAAwB,GAAI,UAAAvB,EAAA,CAAS;AAAA,UAAA,EAAA,CAE9D,IACEG,KAAW,QAAQJ,KAAS,OAC9B,gBAAAqB,EAAC,MAAA,EAAG,IAAIjB,GAAS,WAAWoB,EAAO,wBAAwB,GACxD,aACH,IACE;AAAA,UAEHR,KACC,gBAAAW,EAAC,OAAA,EAAI,WAAWH,EAAO,uBAAuB,GAC3C,UAAA;AAAA,YAAAJ;AAAA,YACAN;AAAA,UAAA,GACH;AAAA,UAGF,gBAAAa,EAAC,OAAA,EAAI,WAAWH,EAAO,uBAAuB,GAC3C,UAAA;AAAA,YAAAX;AAAA,YACD,gBAAAQ;AAAA,cAACC;AAAA,cAAA;AAAA,gBACE,GAAGX;AAAA,gBACJ,cAAYD;AAAA,gBACZ,WAAWa;AAAA,kBACTC,EAAO,qBAAqB;AAAA,kBAC5Bb,KAAA,gBAAAA,EAAkB;AAAA,gBAAA;AAAA,gBAEpB,wBAAOc,GAAA,EAAK,yBAAQG,GAAA,EAAU,GAAI,MAAK,MAAK;AAAA,gBAC5C,SAASnB;AAAA,cAAA;AAAA,YAAA;AAAA,UACX,EAAA,CACF;AAAA,QAAA,GACF;AAAA,QACCM,KACC,gBAAAM,EAAC,OAAA,EAAI,WAAWG,EAAO,oBAAoB,GAAI,UAAAT,EAAA,CAAW;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIlE;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('./ModalHeader.css');const e={"modal-header":"_modal-header_6duhj_2","modal-header--no-divider":"_modal-header--no-divider_6duhj_8","modal-header__content":"_modal-header__content_6duhj_11","modal-header--has-slot":"_modal-header--has-slot_6duhj_14","modal-header--close-only":"_modal-header--close-only_6duhj_17","modal-header__titles":"_modal-header__titles_6duhj_27","modal-header__primary":"_modal-header__primary_6duhj_36","modal-header__title":"_modal-header__title_6duhj_27","modal-header__title-sr":"_modal-header__title-sr_6duhj_53","modal-header__subtitle":"_modal-header__subtitle_6duhj_64","modal-header__subtitle-beside":"_modal-header__subtitle-beside_6duhj_72","modal-header__subtitle-divider":"_modal-header__subtitle-divider_6duhj_82","modal-header__actions":"_modal-header__actions_6duhj_88","modal-header__back":"_modal-header__back_6duhj_96","modal-header__close":"_modal-header__close_6duhj_101","modal-header__slot":"_modal-header__slot_6duhj_106"};exports.default=e;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('./ModalHeader.css');const e={"modal-header":"_modal-header_14bu2_13","modal-header--no-divider":"_modal-header--no-divider_14bu2_19","modal-header__content":"_modal-header__content_14bu2_22","modal-header--has-slot":"_modal-header--has-slot_14bu2_25","modal-header--close-only":"_modal-header--close-only_14bu2_28","modal-header--has-leading":"_modal-header--has-leading_14bu2_31","modal-header__leading":"_modal-header__leading_14bu2_41","modal-header__titles":"_modal-header__titles_14bu2_48","modal-header__primary":"_modal-header__primary_14bu2_57","modal-header__title":"_modal-header__title_14bu2_48","modal-header__title-sr":"_modal-header__title-sr_14bu2_74","modal-header__subtitle":"_modal-header__subtitle_14bu2_85","modal-header__subtitle-beside":"_modal-header__subtitle-beside_14bu2_93","modal-header__subtitle-divider":"_modal-header__subtitle-divider_14bu2_103","modal-header__actions":"_modal-header__actions_14bu2_109","modal-header__back":"_modal-header__back_14bu2_117","modal-header__close":"_modal-header__close_14bu2_122","modal-header__slot":"_modal-header__slot_14bu2_127"};exports.default=e;
2
2
  //# sourceMappingURL=ModalHeader.module.scss.cjs.map
@@ -1,20 +1,22 @@
1
1
  import './ModalHeader.css';const _ = {
2
- "modal-header": "_modal-header_6duhj_2",
3
- "modal-header--no-divider": "_modal-header--no-divider_6duhj_8",
4
- "modal-header__content": "_modal-header__content_6duhj_11",
5
- "modal-header--has-slot": "_modal-header--has-slot_6duhj_14",
6
- "modal-header--close-only": "_modal-header--close-only_6duhj_17",
7
- "modal-header__titles": "_modal-header__titles_6duhj_27",
8
- "modal-header__primary": "_modal-header__primary_6duhj_36",
9
- "modal-header__title": "_modal-header__title_6duhj_27",
10
- "modal-header__title-sr": "_modal-header__title-sr_6duhj_53",
11
- "modal-header__subtitle": "_modal-header__subtitle_6duhj_64",
12
- "modal-header__subtitle-beside": "_modal-header__subtitle-beside_6duhj_72",
13
- "modal-header__subtitle-divider": "_modal-header__subtitle-divider_6duhj_82",
14
- "modal-header__actions": "_modal-header__actions_6duhj_88",
15
- "modal-header__back": "_modal-header__back_6duhj_96",
16
- "modal-header__close": "_modal-header__close_6duhj_101",
17
- "modal-header__slot": "_modal-header__slot_6duhj_106"
2
+ "modal-header": "_modal-header_14bu2_13",
3
+ "modal-header--no-divider": "_modal-header--no-divider_14bu2_19",
4
+ "modal-header__content": "_modal-header__content_14bu2_22",
5
+ "modal-header--has-slot": "_modal-header--has-slot_14bu2_25",
6
+ "modal-header--close-only": "_modal-header--close-only_14bu2_28",
7
+ "modal-header--has-leading": "_modal-header--has-leading_14bu2_31",
8
+ "modal-header__leading": "_modal-header__leading_14bu2_41",
9
+ "modal-header__titles": "_modal-header__titles_14bu2_48",
10
+ "modal-header__primary": "_modal-header__primary_14bu2_57",
11
+ "modal-header__title": "_modal-header__title_14bu2_48",
12
+ "modal-header__title-sr": "_modal-header__title-sr_14bu2_74",
13
+ "modal-header__subtitle": "_modal-header__subtitle_14bu2_85",
14
+ "modal-header__subtitle-beside": "_modal-header__subtitle-beside_14bu2_93",
15
+ "modal-header__subtitle-divider": "_modal-header__subtitle-divider_14bu2_103",
16
+ "modal-header__actions": "_modal-header__actions_14bu2_109",
17
+ "modal-header__back": "_modal-header__back_14bu2_117",
18
+ "modal-header__close": "_modal-header__close_14bu2_122",
19
+ "modal-header__slot": "_modal-header__slot_14bu2_127"
18
20
  };
19
21
  export {
20
22
  _ as default
@@ -1 +1 @@
1
- {"version":3,"file":"ModalHeader.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ModalHeader.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;"}