@mattermost/compass-ui 0.1.0-alpha.10 → 0.1.0-alpha.11

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 (441) hide show
  1. package/README.md +5 -4
  2. package/dist/components/action-button/ActionButton.cjs +1 -1
  3. package/dist/components/action-button/ActionButton.cjs.map +1 -1
  4. package/dist/components/action-button/ActionButton.d.ts +2 -1
  5. package/dist/components/action-button/ActionButton.d.ts.map +1 -1
  6. package/dist/components/action-button/ActionButton.js +36 -31
  7. package/dist/components/action-button/ActionButton.js.map +1 -1
  8. package/dist/components/admin-console-header/AdminConsoleHeader.cjs.map +1 -1
  9. package/dist/components/admin-console-header/AdminConsoleHeader.d.ts.map +1 -1
  10. package/dist/components/admin-console-header/AdminConsoleHeader.js.map +1 -1
  11. package/dist/components/admin-panel/AdminPanel.cjs.map +1 -1
  12. package/dist/components/admin-panel/AdminPanel.d.ts.map +1 -1
  13. package/dist/components/admin-panel/AdminPanel.js.map +1 -1
  14. package/dist/components/admin-panel/index.d.ts +1 -1
  15. package/dist/components/admin-panel/index.d.ts.map +1 -1
  16. package/dist/components/admin-panel-footer/AdminPanelFooter.cjs.map +1 -1
  17. package/dist/components/admin-panel-footer/AdminPanelFooter.d.ts.map +1 -1
  18. package/dist/components/admin-panel-footer/AdminPanelFooter.js +1 -8
  19. package/dist/components/admin-panel-footer/AdminPanelFooter.js.map +1 -1
  20. package/dist/components/admin-panel-header/AdminPanelHeader.cjs.map +1 -1
  21. package/dist/components/admin-panel-header/AdminPanelHeader.d.ts.map +1 -1
  22. package/dist/components/admin-panel-header/AdminPanelHeader.js +2 -16
  23. package/dist/components/admin-panel-header/AdminPanelHeader.js.map +1 -1
  24. package/dist/components/attachment-card/AttachmentCard.cjs.map +1 -1
  25. package/dist/components/attachment-card/AttachmentCard.d.ts.map +1 -1
  26. package/dist/components/attachment-card/AttachmentCard.js.map +1 -1
  27. package/dist/components/button/Button.cjs +1 -1
  28. package/dist/components/button/Button.cjs.map +1 -1
  29. package/dist/components/button/Button.d.ts +4 -3
  30. package/dist/components/button/Button.d.ts.map +1 -1
  31. package/dist/components/button/Button.js +39 -23
  32. package/dist/components/button/Button.js.map +1 -1
  33. package/dist/components/card-button/CardButton.cjs +1 -1
  34. package/dist/components/card-button/CardButton.cjs.map +1 -1
  35. package/dist/components/card-button/CardButton.d.ts +2 -1
  36. package/dist/components/card-button/CardButton.d.ts.map +1 -1
  37. package/dist/components/card-button/CardButton.js +47 -42
  38. package/dist/components/card-button/CardButton.js.map +1 -1
  39. package/dist/components/channel-info-msg-header/ChannelInfoMsgHeader.cjs.map +1 -1
  40. package/dist/components/channel-info-msg-header/ChannelInfoMsgHeader.js.map +1 -1
  41. package/dist/components/checkbox/Checkbox.cjs +1 -1
  42. package/dist/components/checkbox/Checkbox.cjs.map +1 -1
  43. package/dist/components/checkbox/Checkbox.d.ts +2 -1
  44. package/dist/components/checkbox/Checkbox.d.ts.map +1 -1
  45. package/dist/components/checkbox/Checkbox.js +39 -37
  46. package/dist/components/checkbox/Checkbox.js.map +1 -1
  47. package/dist/components/chip/Chip.cjs.map +1 -1
  48. package/dist/components/chip/Chip.d.ts.map +1 -1
  49. package/dist/components/chip/Chip.js.map +1 -1
  50. package/dist/components/chip/ChipGroup.cjs.map +1 -1
  51. package/dist/components/chip/ChipGroup.d.ts.map +1 -1
  52. package/dist/components/chip/ChipGroup.js.map +1 -1
  53. package/dist/components/combobox/Combobox.cjs +1 -1
  54. package/dist/components/combobox/Combobox.cjs.map +1 -1
  55. package/dist/components/combobox/Combobox.css +1 -1
  56. package/dist/components/combobox/Combobox.d.ts +30 -1
  57. package/dist/components/combobox/Combobox.d.ts.map +1 -1
  58. package/dist/components/combobox/Combobox.js +381 -276
  59. package/dist/components/combobox/Combobox.js.map +1 -1
  60. package/dist/components/combobox/Combobox.module.scss.cjs +1 -1
  61. package/dist/components/combobox/Combobox.module.scss.js +24 -22
  62. package/dist/components/combobox/Combobox.module.scss.js.map +1 -1
  63. package/dist/components/combobox/index.d.ts +1 -1
  64. package/dist/components/combobox/index.d.ts.map +1 -1
  65. package/dist/components/date-range-picker/DateRangePicker.cjs.map +1 -1
  66. package/dist/components/date-range-picker/DateRangePicker.css +1 -1
  67. package/dist/components/date-range-picker/DateRangePicker.d.ts.map +1 -1
  68. package/dist/components/date-range-picker/DateRangePicker.js +27 -10
  69. package/dist/components/date-range-picker/DateRangePicker.js.map +1 -1
  70. package/dist/components/date-range-picker/DateRangePicker.module.scss.cjs +1 -1
  71. package/dist/components/date-range-picker/DateRangePicker.module.scss.js +26 -26
  72. package/dist/components/emoji/Emoji.cjs.map +1 -1
  73. package/dist/components/emoji/Emoji.d.ts.map +1 -1
  74. package/dist/components/emoji/Emoji.js +1 -5
  75. package/dist/components/emoji/Emoji.js.map +1 -1
  76. package/dist/components/emoji-button/EmojiButton.cjs.map +1 -1
  77. package/dist/components/emoji-button/EmojiButton.d.ts.map +1 -1
  78. package/dist/components/emoji-button/EmojiButton.js +10 -1
  79. package/dist/components/emoji-button/EmojiButton.js.map +1 -1
  80. package/dist/components/emoji-popover/EmojiPopover.cjs.map +1 -1
  81. package/dist/components/emoji-popover/EmojiPopover.d.ts.map +1 -1
  82. package/dist/components/emoji-popover/EmojiPopover.js +34 -17
  83. package/dist/components/emoji-popover/EmojiPopover.js.map +1 -1
  84. package/dist/components/empty-state/EmptyState.cjs.map +1 -1
  85. package/dist/components/empty-state/EmptyState.d.ts +2 -2
  86. package/dist/components/empty-state/EmptyState.d.ts.map +1 -1
  87. package/dist/components/empty-state/EmptyState.js.map +1 -1
  88. package/dist/components/error-message/ErrorMessage.cjs.map +1 -1
  89. package/dist/components/error-message/ErrorMessage.d.ts +3 -2
  90. package/dist/components/error-message/ErrorMessage.d.ts.map +1 -1
  91. package/dist/components/error-message/ErrorMessage.js.map +1 -1
  92. package/dist/components/icon/Icon.js +2 -2
  93. package/dist/components/icon/index.d.ts +1 -1
  94. package/dist/components/icon/index.d.ts.map +1 -1
  95. package/dist/components/icon-button/IconButton.cjs +1 -1
  96. package/dist/components/icon-button/IconButton.cjs.map +1 -1
  97. package/dist/components/icon-button/IconButton.d.ts +2 -1
  98. package/dist/components/icon-button/IconButton.d.ts.map +1 -1
  99. package/dist/components/icon-button/IconButton.js +61 -57
  100. package/dist/components/icon-button/IconButton.js.map +1 -1
  101. package/dist/components/image-preview/ImagePreview.cjs.map +1 -1
  102. package/dist/components/image-preview/ImagePreview.d.ts.map +1 -1
  103. package/dist/components/image-preview/ImagePreview.js +8 -1
  104. package/dist/components/image-preview/ImagePreview.js.map +1 -1
  105. package/dist/components/link-preview/LinkPreview.cjs.map +1 -1
  106. package/dist/components/link-preview/LinkPreview.d.ts.map +1 -1
  107. package/dist/components/link-preview/LinkPreview.js +1 -7
  108. package/dist/components/link-preview/LinkPreview.js.map +1 -1
  109. package/dist/components/link-preview/index.d.ts +1 -1
  110. package/dist/components/link-preview/index.d.ts.map +1 -1
  111. package/dist/components/menu-item/MenuItem.cjs +1 -1
  112. package/dist/components/menu-item/MenuItem.cjs.map +1 -1
  113. package/dist/components/menu-item/MenuItem.d.ts +4 -3
  114. package/dist/components/menu-item/MenuItem.d.ts.map +1 -1
  115. package/dist/components/menu-item/MenuItem.js +55 -43
  116. package/dist/components/menu-item/MenuItem.js.map +1 -1
  117. package/dist/components/message-actions/index.d.ts +1 -1
  118. package/dist/components/message-actions/index.d.ts.map +1 -1
  119. package/dist/components/message-separator/MessageSeparator.cjs.map +1 -1
  120. package/dist/components/message-separator/MessageSeparator.css +1 -1
  121. package/dist/components/message-separator/MessageSeparator.d.ts.map +1 -1
  122. package/dist/components/message-separator/MessageSeparator.js +8 -1
  123. package/dist/components/message-separator/MessageSeparator.js.map +1 -1
  124. package/dist/components/message-separator/MessageSeparator.module.scss.cjs +1 -1
  125. package/dist/components/message-separator/MessageSeparator.module.scss.js +11 -11
  126. package/dist/components/new-message-banner/NewMessageBanner.cjs.map +1 -1
  127. package/dist/components/new-message-banner/NewMessageBanner.d.ts.map +1 -1
  128. package/dist/components/new-message-banner/NewMessageBanner.js +1 -5
  129. package/dist/components/new-message-banner/NewMessageBanner.js.map +1 -1
  130. package/dist/components/permalink-preview/PermalinkPreview.cjs +1 -1
  131. package/dist/components/permalink-preview/PermalinkPreview.cjs.map +1 -1
  132. package/dist/components/permalink-preview/PermalinkPreview.css +1 -1
  133. package/dist/components/permalink-preview/PermalinkPreview.d.ts +9 -2
  134. package/dist/components/permalink-preview/PermalinkPreview.d.ts.map +1 -1
  135. package/dist/components/permalink-preview/PermalinkPreview.js +66 -25
  136. package/dist/components/permalink-preview/PermalinkPreview.js.map +1 -1
  137. package/dist/components/permalink-preview/PermalinkPreview.module.scss.cjs +1 -1
  138. package/dist/components/permalink-preview/PermalinkPreview.module.scss.js +13 -9
  139. package/dist/components/permalink-preview/PermalinkPreview.module.scss.js.map +1 -1
  140. package/dist/components/popover-menu/PopoverMenu.cjs.map +1 -1
  141. package/dist/components/popover-menu/PopoverMenu.d.ts +1 -2
  142. package/dist/components/popover-menu/PopoverMenu.d.ts.map +1 -1
  143. package/dist/components/popover-menu/PopoverMenu.js.map +1 -1
  144. package/dist/components/popover-notice/PopoverNotice.cjs.map +1 -1
  145. package/dist/components/popover-notice/PopoverNotice.d.ts +4 -3
  146. package/dist/components/popover-notice/PopoverNotice.d.ts.map +1 -1
  147. package/dist/components/popover-notice/PopoverNotice.js.map +1 -1
  148. package/dist/components/profile-popover/ProfilePopover.cjs.map +1 -1
  149. package/dist/components/profile-popover/ProfilePopover.d.ts.map +1 -1
  150. package/dist/components/profile-popover/ProfilePopover.js +14 -1
  151. package/dist/components/profile-popover/ProfilePopover.js.map +1 -1
  152. package/dist/components/progress-bar/ProgressBar.cjs +1 -1
  153. package/dist/components/progress-bar/ProgressBar.cjs.map +1 -1
  154. package/dist/components/progress-bar/ProgressBar.css +1 -1
  155. package/dist/components/progress-bar/ProgressBar.d.ts +6 -1
  156. package/dist/components/progress-bar/ProgressBar.d.ts.map +1 -1
  157. package/dist/components/progress-bar/ProgressBar.js +21 -15
  158. package/dist/components/progress-bar/ProgressBar.js.map +1 -1
  159. package/dist/components/progress-bar/ProgressBar.module.scss.cjs +1 -1
  160. package/dist/components/progress-bar/ProgressBar.module.scss.js +9 -8
  161. package/dist/components/progress-bar/ProgressBar.module.scss.js.map +1 -1
  162. package/dist/components/radio/Radio.cjs +1 -1
  163. package/dist/components/radio/Radio.cjs.map +1 -1
  164. package/dist/components/radio/Radio.d.ts +2 -1
  165. package/dist/components/radio/Radio.d.ts.map +1 -1
  166. package/dist/components/radio/Radio.js +15 -13
  167. package/dist/components/radio/Radio.js.map +1 -1
  168. package/dist/components/reactions-row/ReactionsRow.cjs.map +1 -1
  169. package/dist/components/reactions-row/ReactionsRow.d.ts.map +1 -1
  170. package/dist/components/reactions-row/ReactionsRow.js.map +1 -1
  171. package/dist/components/right-sidebar-header/RightSidebarHeader.cjs +1 -1
  172. package/dist/components/right-sidebar-header/RightSidebarHeader.cjs.map +1 -1
  173. package/dist/components/right-sidebar-header/RightSidebarHeader.d.ts +4 -2
  174. package/dist/components/right-sidebar-header/RightSidebarHeader.d.ts.map +1 -1
  175. package/dist/components/right-sidebar-header/RightSidebarHeader.js +51 -43
  176. package/dist/components/right-sidebar-header/RightSidebarHeader.js.map +1 -1
  177. package/dist/components/search-input/SearchInput.cjs.map +1 -1
  178. package/dist/components/search-input/SearchInput.d.ts.map +1 -1
  179. package/dist/components/search-input/SearchInput.js.map +1 -1
  180. package/dist/components/section-notice/SectionNotice.cjs.map +1 -1
  181. package/dist/components/section-notice/SectionNotice.d.ts +4 -4
  182. package/dist/components/section-notice/SectionNotice.d.ts.map +1 -1
  183. package/dist/components/section-notice/SectionNotice.js.map +1 -1
  184. package/dist/components/select/Select.cjs.map +1 -1
  185. package/dist/components/select/Select.d.ts.map +1 -1
  186. package/dist/components/select/Select.js.map +1 -1
  187. package/dist/components/switch/Switch.cjs +1 -1
  188. package/dist/components/switch/Switch.cjs.map +1 -1
  189. package/dist/components/switch/Switch.d.ts +2 -1
  190. package/dist/components/switch/Switch.d.ts.map +1 -1
  191. package/dist/components/switch/Switch.js +31 -29
  192. package/dist/components/switch/Switch.js.map +1 -1
  193. package/dist/components/tabs/Tabs.cjs +1 -1
  194. package/dist/components/tabs/Tabs.cjs.map +1 -1
  195. package/dist/components/tabs/Tabs.css +1 -1
  196. package/dist/components/tabs/Tabs.d.ts +6 -2
  197. package/dist/components/tabs/Tabs.d.ts.map +1 -1
  198. package/dist/components/tabs/Tabs.js +47 -39
  199. package/dist/components/tabs/Tabs.js.map +1 -1
  200. package/dist/components/tabs/Tabs.module.scss.cjs +1 -1
  201. package/dist/components/tabs/Tabs.module.scss.js +13 -12
  202. package/dist/components/tabs/Tabs.module.scss.js.map +1 -1
  203. package/dist/components/tag/Tag.cjs.map +1 -1
  204. package/dist/components/tag/Tag.css +1 -1
  205. package/dist/components/tag/Tag.d.ts +2 -2
  206. package/dist/components/tag/Tag.d.ts.map +1 -1
  207. package/dist/components/tag/Tag.js.map +1 -1
  208. package/dist/components/tag/Tag.module.scss.cjs +1 -1
  209. package/dist/components/tag/Tag.module.scss.js +11 -11
  210. package/dist/components/thread-footer/ThreadFooter.cjs +1 -1
  211. package/dist/components/thread-footer/ThreadFooter.cjs.map +1 -1
  212. package/dist/components/thread-footer/ThreadFooter.css +1 -1
  213. package/dist/components/thread-footer/ThreadFooter.d.ts.map +1 -1
  214. package/dist/components/thread-footer/ThreadFooter.js +39 -43
  215. package/dist/components/thread-footer/ThreadFooter.js.map +1 -1
  216. package/dist/components/thread-footer/ThreadFooter.module.scss.cjs +1 -1
  217. package/dist/components/thread-footer/ThreadFooter.module.scss.js +18 -17
  218. package/dist/components/thread-footer/ThreadFooter.module.scss.js.map +1 -1
  219. package/dist/components/thread-list-item/ThreadListItem.cjs.map +1 -1
  220. package/dist/components/thread-list-item/ThreadListItem.d.ts.map +1 -1
  221. package/dist/components/thread-list-item/ThreadListItem.js +3 -1
  222. package/dist/components/thread-list-item/ThreadListItem.js.map +1 -1
  223. package/dist/components/toast/Toast.cjs.map +1 -1
  224. package/dist/components/toast/Toast.d.ts +3 -2
  225. package/dist/components/toast/Toast.d.ts.map +1 -1
  226. package/dist/components/toast/Toast.js.map +1 -1
  227. package/dist/components/tooltip/Tooltip.cjs +1 -1
  228. package/dist/components/tooltip/Tooltip.cjs.map +1 -1
  229. package/dist/components/tooltip/Tooltip.d.ts +3 -3
  230. package/dist/components/tooltip/Tooltip.d.ts.map +1 -1
  231. package/dist/components/tooltip/Tooltip.js +9 -9
  232. package/dist/components/tooltip/Tooltip.js.map +1 -1
  233. package/dist/components/tour-point/TourPoint.cjs.map +1 -1
  234. package/dist/components/tour-point/TourPoint.d.ts.map +1 -1
  235. package/dist/components/tour-point/TourPoint.js +8 -6
  236. package/dist/components/tour-point/TourPoint.js.map +1 -1
  237. package/dist/components/user-avatar-group/UserAvatarGroup.cjs.map +1 -1
  238. package/dist/components/user-avatar-group/UserAvatarGroup.d.ts.map +1 -1
  239. package/dist/components/user-avatar-group/UserAvatarGroup.js +23 -30
  240. package/dist/components/user-avatar-group/UserAvatarGroup.js.map +1 -1
  241. package/dist/hooks/use-anchored-popup-portal.cjs.map +1 -1
  242. package/dist/hooks/use-anchored-popup-portal.d.ts.map +1 -1
  243. package/dist/hooks/use-anchored-popup-portal.js +1 -3
  244. package/dist/hooks/use-anchored-popup-portal.js.map +1 -1
  245. package/dist/illustrations/incoming-webhook.svg.cjs +1 -1
  246. package/dist/illustrations/incoming-webhook.svg.cjs.map +1 -1
  247. package/dist/illustrations/incoming-webhook.svg.js +1 -1
  248. package/dist/illustrations/incoming-webhook.svg.js.map +1 -1
  249. package/dist/index.cjs +1 -1
  250. package/dist/index.d.ts +0 -13
  251. package/dist/index.d.ts.map +1 -1
  252. package/dist/index.js +170 -202
  253. package/dist/index.js.map +1 -1
  254. package/dist/utils/anchoredPopupPlacement.cjs.map +1 -1
  255. package/dist/utils/anchoredPopupPlacement.d.ts.map +1 -1
  256. package/dist/utils/anchoredPopupPlacement.js +4 -1
  257. package/dist/utils/anchoredPopupPlacement.js.map +1 -1
  258. package/package.json +1 -41
  259. package/dist/components/admin-console-sidebar/AdminConsoleSidebar.cjs +0 -2
  260. package/dist/components/admin-console-sidebar/AdminConsoleSidebar.cjs.map +0 -1
  261. package/dist/components/admin-console-sidebar/AdminConsoleSidebar.css +0 -1
  262. package/dist/components/admin-console-sidebar/AdminConsoleSidebar.d.ts +0 -12
  263. package/dist/components/admin-console-sidebar/AdminConsoleSidebar.d.ts.map +0 -1
  264. package/dist/components/admin-console-sidebar/AdminConsoleSidebar.js +0 -122
  265. package/dist/components/admin-console-sidebar/AdminConsoleSidebar.js.map +0 -1
  266. package/dist/components/admin-console-sidebar/AdminConsoleSidebar.module.scss.cjs +0 -2
  267. package/dist/components/admin-console-sidebar/AdminConsoleSidebar.module.scss.cjs.map +0 -1
  268. package/dist/components/admin-console-sidebar/AdminConsoleSidebar.module.scss.js +0 -20
  269. package/dist/components/admin-console-sidebar/AdminConsoleSidebar.module.scss.js.map +0 -1
  270. package/dist/components/admin-console-sidebar/adminConsoleSidebarModel.d.ts +0 -14
  271. package/dist/components/admin-console-sidebar/adminConsoleSidebarModel.d.ts.map +0 -1
  272. package/dist/components/admin-console-sidebar/index.cjs +0 -2
  273. package/dist/components/admin-console-sidebar/index.cjs.map +0 -1
  274. package/dist/components/admin-console-sidebar/index.d.ts +0 -4
  275. package/dist/components/admin-console-sidebar/index.d.ts.map +0 -1
  276. package/dist/components/admin-console-sidebar/index.js +0 -5
  277. package/dist/components/admin-console-sidebar/index.js.map +0 -1
  278. package/dist/components/channel-category-menu/ChannelCategoryMenu.cjs +0 -2
  279. package/dist/components/channel-category-menu/ChannelCategoryMenu.cjs.map +0 -1
  280. package/dist/components/channel-category-menu/ChannelCategoryMenu.css +0 -1
  281. package/dist/components/channel-category-menu/ChannelCategoryMenu.d.ts +0 -10
  282. package/dist/components/channel-category-menu/ChannelCategoryMenu.d.ts.map +0 -1
  283. package/dist/components/channel-category-menu/ChannelCategoryMenu.js +0 -103
  284. package/dist/components/channel-category-menu/ChannelCategoryMenu.js.map +0 -1
  285. package/dist/components/channel-category-menu/ChannelCategoryMenu.module.scss.cjs +0 -2
  286. package/dist/components/channel-category-menu/ChannelCategoryMenu.module.scss.cjs.map +0 -1
  287. package/dist/components/channel-category-menu/ChannelCategoryMenu.module.scss.js +0 -8
  288. package/dist/components/channel-category-menu/ChannelCategoryMenu.module.scss.js.map +0 -1
  289. package/dist/components/channel-category-menu/index.cjs +0 -2
  290. package/dist/components/channel-category-menu/index.cjs.map +0 -1
  291. package/dist/components/channel-category-menu/index.d.ts +0 -3
  292. package/dist/components/channel-category-menu/index.d.ts.map +0 -1
  293. package/dist/components/channel-category-menu/index.js +0 -5
  294. package/dist/components/channel-category-menu/index.js.map +0 -1
  295. package/dist/components/channel-header-menu/ChannelHeaderMenu.cjs +0 -2
  296. package/dist/components/channel-header-menu/ChannelHeaderMenu.cjs.map +0 -1
  297. package/dist/components/channel-header-menu/ChannelHeaderMenu.d.ts +0 -8
  298. package/dist/components/channel-header-menu/ChannelHeaderMenu.d.ts.map +0 -1
  299. package/dist/components/channel-header-menu/ChannelHeaderMenu.js +0 -115
  300. package/dist/components/channel-header-menu/ChannelHeaderMenu.js.map +0 -1
  301. package/dist/components/channel-header-menu/index.cjs +0 -2
  302. package/dist/components/channel-header-menu/index.cjs.map +0 -1
  303. package/dist/components/channel-header-menu/index.d.ts +0 -3
  304. package/dist/components/channel-header-menu/index.d.ts.map +0 -1
  305. package/dist/components/channel-header-menu/index.js +0 -5
  306. package/dist/components/channel-header-menu/index.js.map +0 -1
  307. package/dist/components/channel-menu/ChannelMenu.cjs +0 -2
  308. package/dist/components/channel-menu/ChannelMenu.cjs.map +0 -1
  309. package/dist/components/channel-menu/ChannelMenu.d.ts +0 -8
  310. package/dist/components/channel-menu/ChannelMenu.d.ts.map +0 -1
  311. package/dist/components/channel-menu/ChannelMenu.js +0 -91
  312. package/dist/components/channel-menu/ChannelMenu.js.map +0 -1
  313. package/dist/components/channel-menu/index.cjs +0 -2
  314. package/dist/components/channel-menu/index.cjs.map +0 -1
  315. package/dist/components/channel-menu/index.d.ts +0 -3
  316. package/dist/components/channel-menu/index.d.ts.map +0 -1
  317. package/dist/components/channel-menu/index.js +0 -5
  318. package/dist/components/channel-menu/index.js.map +0 -1
  319. package/dist/components/channels-sidebar/ChannelsSidebar.cjs +0 -2
  320. package/dist/components/channels-sidebar/ChannelsSidebar.cjs.map +0 -1
  321. package/dist/components/channels-sidebar/ChannelsSidebar.css +0 -1
  322. package/dist/components/channels-sidebar/ChannelsSidebar.d.ts +0 -57
  323. package/dist/components/channels-sidebar/ChannelsSidebar.d.ts.map +0 -1
  324. package/dist/components/channels-sidebar/ChannelsSidebar.js +0 -177
  325. package/dist/components/channels-sidebar/ChannelsSidebar.js.map +0 -1
  326. package/dist/components/channels-sidebar/ChannelsSidebar.module.scss.cjs +0 -2
  327. package/dist/components/channels-sidebar/ChannelsSidebar.module.scss.cjs.map +0 -1
  328. package/dist/components/channels-sidebar/ChannelsSidebar.module.scss.js +0 -35
  329. package/dist/components/channels-sidebar/ChannelsSidebar.module.scss.js.map +0 -1
  330. package/dist/components/channels-sidebar/channelsSidebarModel.cjs +0 -2
  331. package/dist/components/channels-sidebar/channelsSidebarModel.cjs.map +0 -1
  332. package/dist/components/channels-sidebar/channelsSidebarModel.d.ts +0 -22
  333. package/dist/components/channels-sidebar/channelsSidebarModel.d.ts.map +0 -1
  334. package/dist/components/channels-sidebar/channelsSidebarModel.js +0 -20
  335. package/dist/components/channels-sidebar/channelsSidebarModel.js.map +0 -1
  336. package/dist/components/channels-sidebar/index.cjs +0 -2
  337. package/dist/components/channels-sidebar/index.cjs.map +0 -1
  338. package/dist/components/channels-sidebar/index.d.ts +0 -6
  339. package/dist/components/channels-sidebar/index.d.ts.map +0 -1
  340. package/dist/components/channels-sidebar/index.js +0 -12
  341. package/dist/components/channels-sidebar/index.js.map +0 -1
  342. package/dist/components/global-header/GlobalHeader.cjs +0 -2
  343. package/dist/components/global-header/GlobalHeader.cjs.map +0 -1
  344. package/dist/components/global-header/GlobalHeader.css +0 -1
  345. package/dist/components/global-header/GlobalHeader.d.ts +0 -28
  346. package/dist/components/global-header/GlobalHeader.d.ts.map +0 -1
  347. package/dist/components/global-header/GlobalHeader.js +0 -157
  348. package/dist/components/global-header/GlobalHeader.js.map +0 -1
  349. package/dist/components/global-header/GlobalHeader.module.scss.cjs +0 -2
  350. package/dist/components/global-header/GlobalHeader.module.scss.cjs.map +0 -1
  351. package/dist/components/global-header/GlobalHeader.module.scss.js +0 -20
  352. package/dist/components/global-header/GlobalHeader.module.scss.js.map +0 -1
  353. package/dist/components/global-header/index.cjs +0 -2
  354. package/dist/components/global-header/index.cjs.map +0 -1
  355. package/dist/components/global-header/index.d.ts +0 -3
  356. package/dist/components/global-header/index.d.ts.map +0 -1
  357. package/dist/components/global-header/index.js +0 -5
  358. package/dist/components/global-header/index.js.map +0 -1
  359. package/dist/components/help-menu/HelpMenu.cjs +0 -2
  360. package/dist/components/help-menu/HelpMenu.cjs.map +0 -1
  361. package/dist/components/help-menu/HelpMenu.d.ts +0 -8
  362. package/dist/components/help-menu/HelpMenu.d.ts.map +0 -1
  363. package/dist/components/help-menu/HelpMenu.js +0 -64
  364. package/dist/components/help-menu/HelpMenu.js.map +0 -1
  365. package/dist/components/help-menu/index.cjs +0 -2
  366. package/dist/components/help-menu/index.cjs.map +0 -1
  367. package/dist/components/help-menu/index.d.ts +0 -3
  368. package/dist/components/help-menu/index.d.ts.map +0 -1
  369. package/dist/components/help-menu/index.js +0 -5
  370. package/dist/components/help-menu/index.js.map +0 -1
  371. package/dist/components/message-more-options-menu/MessageMoreOptionsMenu.cjs +0 -2
  372. package/dist/components/message-more-options-menu/MessageMoreOptionsMenu.cjs.map +0 -1
  373. package/dist/components/message-more-options-menu/MessageMoreOptionsMenu.d.ts +0 -12
  374. package/dist/components/message-more-options-menu/MessageMoreOptionsMenu.d.ts.map +0 -1
  375. package/dist/components/message-more-options-menu/MessageMoreOptionsMenu.js +0 -172
  376. package/dist/components/message-more-options-menu/MessageMoreOptionsMenu.js.map +0 -1
  377. package/dist/components/message-more-options-menu/index.cjs +0 -2
  378. package/dist/components/message-more-options-menu/index.cjs.map +0 -1
  379. package/dist/components/message-more-options-menu/index.d.ts +0 -3
  380. package/dist/components/message-more-options-menu/index.d.ts.map +0 -1
  381. package/dist/components/message-more-options-menu/index.js +0 -5
  382. package/dist/components/message-more-options-menu/index.js.map +0 -1
  383. package/dist/components/plus-menu/PlusMenu.cjs +0 -2
  384. package/dist/components/plus-menu/PlusMenu.cjs.map +0 -1
  385. package/dist/components/plus-menu/PlusMenu.d.ts +0 -8
  386. package/dist/components/plus-menu/PlusMenu.d.ts.map +0 -1
  387. package/dist/components/plus-menu/PlusMenu.js +0 -69
  388. package/dist/components/plus-menu/PlusMenu.js.map +0 -1
  389. package/dist/components/plus-menu/index.cjs +0 -2
  390. package/dist/components/plus-menu/index.cjs.map +0 -1
  391. package/dist/components/plus-menu/index.d.ts +0 -3
  392. package/dist/components/plus-menu/index.d.ts.map +0 -1
  393. package/dist/components/plus-menu/index.js +0 -5
  394. package/dist/components/plus-menu/index.js.map +0 -1
  395. package/dist/components/product-switcher-menu/ProductSwitcherMenu.cjs +0 -2
  396. package/dist/components/product-switcher-menu/ProductSwitcherMenu.cjs.map +0 -1
  397. package/dist/components/product-switcher-menu/ProductSwitcherMenu.css +0 -1
  398. package/dist/components/product-switcher-menu/ProductSwitcherMenu.d.ts +0 -47
  399. package/dist/components/product-switcher-menu/ProductSwitcherMenu.d.ts.map +0 -1
  400. package/dist/components/product-switcher-menu/ProductSwitcherMenu.js +0 -110
  401. package/dist/components/product-switcher-menu/ProductSwitcherMenu.js.map +0 -1
  402. package/dist/components/product-switcher-menu/ProductSwitcherMenu.module.scss.cjs +0 -2
  403. package/dist/components/product-switcher-menu/ProductSwitcherMenu.module.scss.cjs.map +0 -1
  404. package/dist/components/product-switcher-menu/ProductSwitcherMenu.module.scss.js +0 -8
  405. package/dist/components/product-switcher-menu/ProductSwitcherMenu.module.scss.js.map +0 -1
  406. package/dist/components/product-switcher-menu/index.cjs +0 -2
  407. package/dist/components/product-switcher-menu/index.cjs.map +0 -1
  408. package/dist/components/product-switcher-menu/index.d.ts +0 -4
  409. package/dist/components/product-switcher-menu/index.d.ts.map +0 -1
  410. package/dist/components/product-switcher-menu/index.js +0 -6
  411. package/dist/components/product-switcher-menu/index.js.map +0 -1
  412. package/dist/components/team-menu/TeamMenu.cjs +0 -2
  413. package/dist/components/team-menu/TeamMenu.cjs.map +0 -1
  414. package/dist/components/team-menu/TeamMenu.css +0 -1
  415. package/dist/components/team-menu/TeamMenu.d.ts +0 -15
  416. package/dist/components/team-menu/TeamMenu.d.ts.map +0 -1
  417. package/dist/components/team-menu/TeamMenu.js +0 -107
  418. package/dist/components/team-menu/TeamMenu.js.map +0 -1
  419. package/dist/components/team-menu/TeamMenu.module.scss.cjs +0 -2
  420. package/dist/components/team-menu/TeamMenu.module.scss.cjs.map +0 -1
  421. package/dist/components/team-menu/TeamMenu.module.scss.js +0 -7
  422. package/dist/components/team-menu/TeamMenu.module.scss.js.map +0 -1
  423. package/dist/components/team-menu/index.cjs +0 -2
  424. package/dist/components/team-menu/index.cjs.map +0 -1
  425. package/dist/components/team-menu/index.d.ts +0 -3
  426. package/dist/components/team-menu/index.d.ts.map +0 -1
  427. package/dist/components/team-menu/index.js +0 -5
  428. package/dist/components/team-menu/index.js.map +0 -1
  429. package/dist/components/thread-actions-menu/ThreadActionsMenu.cjs +0 -2
  430. package/dist/components/thread-actions-menu/ThreadActionsMenu.cjs.map +0 -1
  431. package/dist/components/thread-actions-menu/ThreadActionsMenu.d.ts +0 -8
  432. package/dist/components/thread-actions-menu/ThreadActionsMenu.d.ts.map +0 -1
  433. package/dist/components/thread-actions-menu/ThreadActionsMenu.js +0 -77
  434. package/dist/components/thread-actions-menu/ThreadActionsMenu.js.map +0 -1
  435. package/dist/components/thread-actions-menu/index.cjs +0 -2
  436. package/dist/components/thread-actions-menu/index.cjs.map +0 -1
  437. package/dist/components/thread-actions-menu/index.d.ts +0 -3
  438. package/dist/components/thread-actions-menu/index.d.ts.map +0 -1
  439. package/dist/components/thread-actions-menu/index.js +0 -5
  440. package/dist/components/thread-actions-menu/index.js.map +0 -1
  441. package/dist/index.css +0 -162
package/dist/index.js CHANGED
@@ -1,209 +1,177 @@
1
1
  import { default as r } from "./components/action-button/ActionButton.js";
2
- import { default as t } from "./components/admin-console-header/AdminConsoleHeader.js";
3
- import { default as s } from "./components/admin-console-sidebar/AdminConsoleSidebar.js";
4
- import { default as l } from "./components/admin-panel/AdminPanel.js";
5
- import { default as p } from "./components/admin-panel-footer/AdminPanelFooter.js";
6
- import { default as n } from "./components/admin-panel-header/AdminPanelHeader.js";
7
- import { default as i } from "./components/attachment-card/AttachmentCard.js";
8
- import { default as M } from "./components/button/Button.js";
9
- import { default as C } from "./components/button/Button.module.scss.js";
10
- import { default as c } from "./components/card-button/CardButton.js";
2
+ import { default as a } from "./components/admin-console-header/AdminConsoleHeader.js";
3
+ import { default as s } from "./components/admin-panel/AdminPanel.js";
4
+ import { default as d } from "./components/admin-panel-footer/AdminPanelFooter.js";
5
+ import { default as l } from "./components/admin-panel-header/AdminPanelHeader.js";
6
+ import { default as x } from "./components/attachment-card/AttachmentCard.js";
7
+ import { default as i } from "./components/button/Button.js";
8
+ import { default as P } from "./components/button/Button.module.scss.js";
9
+ import { default as M } from "./components/card-button/CardButton.js";
11
10
  import { default as I } from "./components/card-button/CardButtonGroup.js";
12
- import { default as v } from "./components/channel-header-menu/ChannelHeaderMenu.js";
13
- import { default as A } from "./components/channel-info-msg-header/ChannelInfoMsgHeader.js";
14
- import { default as E } from "./components/channel-menu/ChannelMenu.js";
15
- import { default as _ } from "./components/channel-category-menu/ChannelCategoryMenu.js";
16
- import { default as N } from "./components/channel-sidebar-item/ChannelSidebarItem.js";
17
- import { default as G, ChannelsSidebarCategory as D, ChannelsSidebarHeader as U, ChannelsSidebarNavigator as w } from "./components/channels-sidebar/ChannelsSidebar.js";
18
- import { applyChannelNameOverrides as F } from "./components/channels-sidebar/channelsSidebarModel.js";
19
- import { default as j } from "./components/channels-sidebar/ChannelsSidebar.module.scss.js";
20
- import { default as Z } from "./components/checkbox/Checkbox.js";
21
- import { default as V } from "./components/chip/Chip.js";
22
- import { default as W } from "./components/chip/ChipGroup.js";
23
- import { default as z } from "./components/combobox/Combobox.js";
24
- import { default as X } from "./components/date-range-picker/DateRangePicker.js";
25
- import { default as $ } from "./components/divider/Divider.js";
26
- import { default as oe } from "./components/dropdown/Dropdown.js";
27
- import { default as ae } from "./components/emoji/Emoji.js";
28
- import { EMOJI_BUTTON_EMOJI_SIZES as fe, default as se } from "./components/emoji-button/EmojiButton.js";
29
- import { default as le } from "./components/emoji-popover/EmojiPopover.js";
30
- import { default as pe } from "./components/empty-state/EmptyState.js";
31
- import { default as ne } from "./components/error-message/ErrorMessage.js";
32
- import { default as ie } from "./components/feature-discovery-panel/FeatureDiscoveryPanel.js";
33
- import { default as Me } from "./components/global-banner/GlobalBanner.js";
34
- import { default as Ce } from "./components/global-header/GlobalHeader.js";
35
- import { default as ce } from "./components/help-menu/HelpMenu.js";
36
- import { default as Ie, IconSlotContext as ge, SVG_SIZE_MAP as ve, useIconSlotContext as be } from "./components/icon/Icon.js";
37
- import { ICON_BUTTON_ICON_SIZES as Be, default as Ee } from "./components/icon-button/IconButton.js";
38
- import { default as _e } from "./components/illustration/Illustration.js";
39
- import { default as Ne } from "./components/image-preview/ImagePreview.js";
40
- import { default as Ge } from "./components/tag/Tag.js";
41
- import { default as Ue } from "./components/link-preview/LinkPreview.js";
42
- import { default as ye } from "./components/mention-badge/MentionBadge.js";
43
- import { default as ke } from "./components/menu-group-heading/MenuGroupHeading.js";
44
- import { default as Le } from "./components/menu-item/MenuItem.js";
45
- import { default as Je } from "./components/message-actions/MessageActions.js";
46
- import { default as Ke } from "./components/message-header/MessageHeader.js";
47
- import { default as qe } from "./components/message-more-options-menu/MessageMoreOptionsMenu.js";
48
- import { default as Qe } from "./components/reactions-row/ReactionsRow.js";
49
- import { default as Ye } from "./components/reaction-button/ReactionButton.js";
50
- import { default as eo } from "./components/message-separator/MessageSeparator.js";
51
- import { default as ro } from "./components/modal/Modal.js";
52
- import { default as to } from "./components/modal-footer/ModalFooter.js";
53
- import { default as so } from "./components/modal-header/ModalHeader.js";
54
- import { default as uo } from "./components/more-unreads-banner/MoreUnreadsBanner.js";
55
- import { default as mo } from "./components/new-message-banner/NewMessageBanner.js";
56
- import { default as xo } from "./components/pagination-dots/PaginationDots.js";
57
- import { default as So } from "./components/permalink-preview/PermalinkPreview.js";
58
- import { default as Po } from "./components/pinned-saved-indicators/PinnedSavedIndicators.js";
59
- import { default as To } from "./components/plus-menu/PlusMenu.js";
60
- import { default as ho, PopoverMenuDivider as Io, PopoverMenuGroup as go, PopoverMenuGroupTitle as vo, PopoverMenuScroll as bo, PopoverMenuTitle as Ao } from "./components/popover-menu/PopoverMenu.js";
61
- import { default as Eo } from "./components/popover-notice/PopoverNotice.js";
62
- import { DEFAULT_PRODUCT_SWITCHER_PRODUCTS as _o, default as Ho } from "./components/product-switcher-menu/ProductSwitcherMenu.js";
63
- import { default as Ro } from "./components/profile-popover/ProfilePopover.js";
64
- import { default as Do } from "./components/progress-bar/ProgressBar.js";
65
- import { default as wo } from "./components/radio/Radio.js";
66
- import { default as Fo } from "./components/right-sidebar-header/RightSidebarHeader.js";
67
- import { default as jo } from "./components/scrollbar/Scrollbar.js";
68
- import { default as Zo } from "./components/search-input/SearchInput.js";
69
- import { default as Vo } from "./components/search-tip-banner/SearchTipBanner.js";
70
- import { default as Wo, ShortcutTagGroup as qo } from "./components/shortcut-tag/ShortcutTag.js";
71
- import { default as Qo } from "./components/section-notice/SectionNotice.js";
72
- import { default as Yo } from "./components/select/Select.js";
73
- import { default as er } from "./components/spinner/Spinner.js";
74
- import { default as rr } from "./components/status-badge/StatusBadge.js";
75
- import { default as tr } from "./components/switch/Switch.js";
76
- import { default as sr } from "./components/tabs/Tabs.js";
77
- import { default as lr } from "./components/team-avatar/TeamAvatar.js";
78
- import { default as pr } from "./components/team-menu/TeamMenu.js";
79
- import { default as nr } from "./components/team-sidebar/TeamSidebar.js";
80
- import { default as ir } from "./components/text-area/TextArea.js";
81
- import { default as Mr } from "./components/text-input/TextInput.js";
82
- import { default as Cr } from "./components/thread-actions-menu/ThreadActionsMenu.js";
83
- import { default as cr } from "./components/thread-footer/ThreadFooter.js";
84
- import { default as Ir } from "./components/thread-list-item/ThreadListItem.js";
85
- import { default as vr } from "./components/toast/Toast.js";
86
- import { default as Ar } from "./components/tooltip/Tooltip.js";
87
- import { default as Er } from "./components/tour-point/TourPoint.js";
88
- import { default as _r } from "./components/unread-badge/UnreadBadge.js";
89
- import { default as Nr } from "./components/user-avatar/UserAvatar.js";
90
- import { default as Gr } from "./components/user-avatar-group/UserAvatarGroup.js";
91
- import { useControllable as Ur } from "./hooks/use-controllable.js";
92
- import { useExitAnimation as yr } from "./hooks/use-exit-animation.js";
93
- import { useOutsideClose as kr } from "./hooks/use-outside-close.js";
94
- import { POPOVER_TRANSITION_MS as Lr, usePopoverTransition as Zr } from "./hooks/use-popover-transition.js";
95
- import { toKebab as Vr } from "./utils/string.js";
11
+ import { default as g } from "./components/channel-info-msg-header/ChannelInfoMsgHeader.js";
12
+ import { default as C } from "./components/channel-sidebar-item/ChannelSidebarItem.js";
13
+ import { default as A } from "./components/checkbox/Checkbox.js";
14
+ import { default as E } from "./components/chip/Chip.js";
15
+ import { default as _ } from "./components/chip/ChipGroup.js";
16
+ import { default as N } from "./components/combobox/Combobox.js";
17
+ import { default as w } from "./components/date-range-picker/DateRangePicker.js";
18
+ import { default as D } from "./components/divider/Divider.js";
19
+ import { default as k } from "./components/dropdown/Dropdown.js";
20
+ import { default as j } from "./components/emoji/Emoji.js";
21
+ import { EMOJI_BUTTON_EMOJI_SIZES as Z, default as J } from "./components/emoji-button/EmojiButton.js";
22
+ import { default as V } from "./components/emoji-popover/EmojiPopover.js";
23
+ import { default as q } from "./components/empty-state/EmptyState.js";
24
+ import { default as Q } from "./components/error-message/ErrorMessage.js";
25
+ import { default as X } from "./components/feature-discovery-panel/FeatureDiscoveryPanel.js";
26
+ import { default as $ } from "./components/global-banner/GlobalBanner.js";
27
+ import { default as oe, IconSlotContext as re, SVG_SIZE_MAP as te, useIconSlotContext as ae } from "./components/icon/Icon.js";
28
+ import { ICON_BUTTON_ICON_SIZES as se, default as ue } from "./components/icon-button/IconButton.js";
29
+ import { default as pe } from "./components/illustration/Illustration.js";
30
+ import { default as me } from "./components/image-preview/ImagePreview.js";
31
+ import { default as ne } from "./components/tag/Tag.js";
32
+ import { default as Se } from "./components/link-preview/LinkPreview.js";
33
+ import { default as ce } from "./components/mention-badge/MentionBadge.js";
34
+ import { default as Te } from "./components/menu-group-heading/MenuGroupHeading.js";
35
+ import { default as ve } from "./components/menu-item/MenuItem.js";
36
+ import { default as Be } from "./components/message-actions/MessageActions.js";
37
+ import { default as he } from "./components/message-header/MessageHeader.js";
38
+ import { default as be } from "./components/reactions-row/ReactionsRow.js";
39
+ import { default as Oe } from "./components/reaction-button/ReactionButton.js";
40
+ import { default as Ge } from "./components/message-separator/MessageSeparator.js";
41
+ import { default as Re } from "./components/modal/Modal.js";
42
+ import { default as He } from "./components/modal-footer/ModalFooter.js";
43
+ import { default as Ue } from "./components/modal-header/ModalHeader.js";
44
+ import { default as Fe } from "./components/more-unreads-banner/MoreUnreadsBanner.js";
45
+ import { default as ye } from "./components/new-message-banner/NewMessageBanner.js";
46
+ import { default as Je } from "./components/pagination-dots/PaginationDots.js";
47
+ import { default as Ve } from "./components/permalink-preview/PermalinkPreview.js";
48
+ import { default as qe } from "./components/pinned-saved-indicators/PinnedSavedIndicators.js";
49
+ import { default as Qe, PopoverMenuDivider as We, PopoverMenuGroup as Xe, PopoverMenuGroupTitle as Ye, PopoverMenuScroll as $e, PopoverMenuTitle as eo } from "./components/popover-menu/PopoverMenu.js";
50
+ import { default as ro } from "./components/popover-notice/PopoverNotice.js";
51
+ import { default as ao } from "./components/profile-popover/ProfilePopover.js";
52
+ import { default as so } from "./components/progress-bar/ProgressBar.js";
53
+ import { default as po } from "./components/radio/Radio.js";
54
+ import { default as mo } from "./components/right-sidebar-header/RightSidebarHeader.js";
55
+ import { default as no } from "./components/scrollbar/Scrollbar.js";
56
+ import { default as So } from "./components/search-input/SearchInput.js";
57
+ import { default as co } from "./components/search-tip-banner/SearchTipBanner.js";
58
+ import { default as To, ShortcutTagGroup as Io } from "./components/shortcut-tag/ShortcutTag.js";
59
+ import { default as go } from "./components/section-notice/SectionNotice.js";
60
+ import { default as Co } from "./components/select/Select.js";
61
+ import { default as Ao } from "./components/spinner/Spinner.js";
62
+ import { default as Eo } from "./components/status-badge/StatusBadge.js";
63
+ import { default as _o } from "./components/switch/Switch.js";
64
+ import { default as No } from "./components/tabs/Tabs.js";
65
+ import { default as wo } from "./components/team-avatar/TeamAvatar.js";
66
+ import { default as Do } from "./components/team-sidebar/TeamSidebar.js";
67
+ import { default as ko } from "./components/text-area/TextArea.js";
68
+ import { default as jo } from "./components/text-input/TextInput.js";
69
+ import { default as Zo } from "./components/thread-footer/ThreadFooter.js";
70
+ import { default as Lo } from "./components/thread-list-item/ThreadListItem.js";
71
+ import { default as Ko } from "./components/toast/Toast.js";
72
+ import { default as zo } from "./components/tooltip/Tooltip.js";
73
+ import { default as Wo } from "./components/tour-point/TourPoint.js";
74
+ import { default as Yo } from "./components/unread-badge/UnreadBadge.js";
75
+ import { default as er } from "./components/user-avatar/UserAvatar.js";
76
+ import { default as rr } from "./components/user-avatar-group/UserAvatarGroup.js";
77
+ import { useControllable as ar } from "./hooks/use-controllable.js";
78
+ import { useExitAnimation as sr } from "./hooks/use-exit-animation.js";
79
+ import { useOutsideClose as dr } from "./hooks/use-outside-close.js";
80
+ import { POPOVER_TRANSITION_MS as lr, usePopoverTransition as mr } from "./hooks/use-popover-transition.js";
81
+ import { toKebab as nr } from "./utils/string.js";
96
82
  export {
97
83
  r as ActionButton,
98
- t as AdminConsoleHeader,
99
- s as AdminConsoleSidebar,
100
- l as AdminPanel,
101
- p as AdminPanelFooter,
102
- n as AdminPanelHeader,
103
- i as AttachmentCard,
104
- M as Button,
105
- c as CardButton,
84
+ a as AdminConsoleHeader,
85
+ s as AdminPanel,
86
+ d as AdminPanelFooter,
87
+ l as AdminPanelHeader,
88
+ x as AttachmentCard,
89
+ i as Button,
90
+ M as CardButton,
106
91
  I as CardButtonGroup,
107
- _ as ChannelCategoryMenu,
108
- v as ChannelHeaderMenu,
109
- A as ChannelInfoMsgHeader,
110
- E as ChannelMenu,
111
- N as ChannelSidebarItem,
112
- G as ChannelsSidebar,
113
- D as ChannelsSidebarCategory,
114
- U as ChannelsSidebarHeader,
115
- w as ChannelsSidebarNavigator,
116
- Z as Checkbox,
117
- V as Chip,
118
- W as ChipGroup,
119
- z as Combobox,
120
- _o as DEFAULT_PRODUCT_SWITCHER_PRODUCTS,
121
- X as DateRangePicker,
122
- $ as Divider,
123
- oe as Dropdown,
124
- fe as EMOJI_BUTTON_EMOJI_SIZES,
125
- ae as Emoji,
126
- se as EmojiButton,
127
- le as EmojiPopover,
128
- pe as EmptyState,
129
- ne as ErrorMessage,
130
- ie as FeatureDiscoveryPanel,
131
- Me as GlobalBanner,
132
- Ce as GlobalHeader,
133
- ce as HelpMenu,
134
- Be as ICON_BUTTON_ICON_SIZES,
135
- Ie as Icon,
136
- Ee as IconButton,
137
- ge as IconSlotContext,
138
- _e as Illustration,
139
- Ne as ImagePreview,
140
- Ue as LinkPreview,
141
- ye as MentionBadge,
142
- ke as MenuGroupHeading,
143
- Le as MenuItem,
144
- Je as MessageActions,
145
- Ke as MessageHeader,
146
- qe as MessageMoreOptionsMenu,
147
- eo as MessageSeparator,
148
- ro as Modal,
149
- to as ModalFooter,
150
- so as ModalHeader,
151
- uo as MoreUnreadsBanner,
152
- mo as NewMessageBanner,
153
- Lr as POPOVER_TRANSITION_MS,
154
- xo as PaginationDots,
155
- So as PermalinkPreview,
156
- Po as PinnedSavedIndicators,
157
- To as PlusMenu,
158
- ho as PopoverMenu,
159
- Io as PopoverMenuDivider,
160
- go as PopoverMenuGroup,
161
- vo as PopoverMenuGroupTitle,
162
- bo as PopoverMenuScroll,
163
- Ao as PopoverMenuTitle,
164
- Eo as PopoverNotice,
165
- Ho as ProductSwitcherMenu,
166
- Ro as ProfilePopover,
167
- Do as ProgressBar,
168
- wo as Radio,
169
- Ye as ReactionButton,
170
- Qe as ReactionsRow,
171
- Fo as RightSidebarHeader,
172
- ve as SVG_SIZE_MAP,
173
- jo as Scrollbar,
174
- Zo as SearchInput,
175
- Vo as SearchTipBanner,
176
- Qo as SectionNotice,
177
- Yo as Select,
178
- Wo as ShortcutTag,
179
- qo as ShortcutTagGroup,
180
- er as Spinner,
181
- rr as StatusBadge,
182
- tr as Switch,
183
- sr as Tabs,
184
- Ge as Tag,
185
- lr as TeamAvatar,
186
- pr as TeamMenu,
187
- nr as TeamSidebar,
188
- ir as TextArea,
189
- Mr as TextInput,
190
- Cr as ThreadActionsMenu,
191
- cr as ThreadFooter,
192
- Ir as ThreadListItem,
193
- vr as Toast,
194
- Ar as Tooltip,
195
- Er as TourPoint,
196
- _r as UnreadBadge,
197
- Nr as UserAvatar,
198
- Gr as UserAvatarGroup,
199
- F as applyChannelNameOverrides,
200
- C as btnStyles,
201
- j as channelsSidebarStyles,
202
- Vr as toKebab,
203
- Ur as useControllable,
204
- yr as useExitAnimation,
205
- be as useIconSlotContext,
206
- kr as useOutsideClose,
207
- Zr as usePopoverTransition
92
+ g as ChannelInfoMsgHeader,
93
+ C as ChannelSidebarItem,
94
+ A as Checkbox,
95
+ E as Chip,
96
+ _ as ChipGroup,
97
+ N as Combobox,
98
+ w as DateRangePicker,
99
+ D as Divider,
100
+ k as Dropdown,
101
+ Z as EMOJI_BUTTON_EMOJI_SIZES,
102
+ j as Emoji,
103
+ J as EmojiButton,
104
+ V as EmojiPopover,
105
+ q as EmptyState,
106
+ Q as ErrorMessage,
107
+ X as FeatureDiscoveryPanel,
108
+ $ as GlobalBanner,
109
+ se as ICON_BUTTON_ICON_SIZES,
110
+ oe as Icon,
111
+ ue as IconButton,
112
+ re as IconSlotContext,
113
+ pe as Illustration,
114
+ me as ImagePreview,
115
+ Se as LinkPreview,
116
+ ce as MentionBadge,
117
+ Te as MenuGroupHeading,
118
+ ve as MenuItem,
119
+ Be as MessageActions,
120
+ he as MessageHeader,
121
+ Ge as MessageSeparator,
122
+ Re as Modal,
123
+ He as ModalFooter,
124
+ Ue as ModalHeader,
125
+ Fe as MoreUnreadsBanner,
126
+ ye as NewMessageBanner,
127
+ lr as POPOVER_TRANSITION_MS,
128
+ Je as PaginationDots,
129
+ Ve as PermalinkPreview,
130
+ qe as PinnedSavedIndicators,
131
+ Qe as PopoverMenu,
132
+ We as PopoverMenuDivider,
133
+ Xe as PopoverMenuGroup,
134
+ Ye as PopoverMenuGroupTitle,
135
+ $e as PopoverMenuScroll,
136
+ eo as PopoverMenuTitle,
137
+ ro as PopoverNotice,
138
+ ao as ProfilePopover,
139
+ so as ProgressBar,
140
+ po as Radio,
141
+ Oe as ReactionButton,
142
+ be as ReactionsRow,
143
+ mo as RightSidebarHeader,
144
+ te as SVG_SIZE_MAP,
145
+ no as Scrollbar,
146
+ So as SearchInput,
147
+ co as SearchTipBanner,
148
+ go as SectionNotice,
149
+ Co as Select,
150
+ To as ShortcutTag,
151
+ Io as ShortcutTagGroup,
152
+ Ao as Spinner,
153
+ Eo as StatusBadge,
154
+ _o as Switch,
155
+ No as Tabs,
156
+ ne as Tag,
157
+ wo as TeamAvatar,
158
+ Do as TeamSidebar,
159
+ ko as TextArea,
160
+ jo as TextInput,
161
+ Zo as ThreadFooter,
162
+ Lo as ThreadListItem,
163
+ Ko as Toast,
164
+ zo as Tooltip,
165
+ Wo as TourPoint,
166
+ Yo as UnreadBadge,
167
+ er as UserAvatar,
168
+ rr as UserAvatarGroup,
169
+ P as btnStyles,
170
+ nr as toKebab,
171
+ ar as useControllable,
172
+ sr as useExitAnimation,
173
+ ae as useIconSlotContext,
174
+ dr as useOutsideClose,
175
+ mr as usePopoverTransition
208
176
  };
209
177
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"anchoredPopupPlacement.cjs","sources":["../../src/utils/anchoredPopupPlacement.ts"],"sourcesContent":["export type PopupPlacement = 'above' | 'below';\n\nexport const ANCHORED_POPUP_GAP = 4;\nexport const ANCHORED_POPUP_VIEWPORT_MARGIN = 48;\nexport const ANCHORED_POPUP_MIN_HEIGHT = 120;\n/** Default stacking above typical product chrome; hosts can override via zIndex. */\nexport const ANCHORED_POPUP_Z_INDEX = 1000;\n\nexport interface AnchoredPopupPlacementOptions {\n /** Gap between trigger and popup. Default: 4. */\n gap?: number;\n /** Reserved space at the viewport edge. Default: 48. */\n viewportMargin?: number;\n /** Height used to decide whether the popup fits below. */\n preferredHeight: number;\n /** Cap for scrollable menus (e.g. Select/Combobox 280). */\n maxHeightCap?: number;\n /** Floor so short viewports still show a scrollable list. Default: 120. */\n minHeight?: number;\n}\n\nexport interface AnchoredPopupPlacementResult {\n placement: PopupPlacement;\n maxHeight: number;\n}\n\n/**\n * Prefers opening below the anchor; flips above when there isn’t enough room\n * below and there is more space above. Max-height is the available space in the\n * chosen direction, optionally capped.\n */\nexport function computeAnchoredPopupPlacement(\n anchorRect: Pick<DOMRect, 'top' | 'bottom'>,\n viewportHeight: number,\n options: AnchoredPopupPlacementOptions & {\n /** When set, flip/max-height use this box instead of the viewport. */\n bounds?: Pick<DOMRect, 'top' | 'bottom'>;\n },\n): AnchoredPopupPlacementResult {\n const gap = options.gap ?? ANCHORED_POPUP_GAP;\n const viewportMargin =\n options.viewportMargin ?? ANCHORED_POPUP_VIEWPORT_MARGIN;\n const minHeight = options.minHeight ?? ANCHORED_POPUP_MIN_HEIGHT;\n const preferredHeight = Math.max(options.preferredHeight, 0);\n\n const boundsTop = options.bounds?.top ?? 0;\n const boundsBottom = options.bounds?.bottom ?? viewportHeight;\n\n const spaceBelow = Math.max(\n 0,\n boundsBottom - anchorRect.bottom - gap - viewportMargin,\n );\n const spaceAbove = Math.max(0, anchorRect.top - boundsTop - gap - viewportMargin);\n\n const placement: PopupPlacement =\n spaceBelow < preferredHeight && spaceAbove > spaceBelow ? 'above' : 'below';\n\n const available = placement === 'below' ? spaceBelow : spaceAbove;\n const capped =\n options.maxHeightCap != null\n ? Math.min(options.maxHeightCap, available)\n : available;\n\n return {\n placement,\n maxHeight: Math.max(minHeight, capped),\n };\n}\n\nexport interface AnchoredPopupFixedStyle {\n position: 'fixed' | 'absolute';\n top?: number;\n bottom?: number;\n left: number;\n width: number;\n zIndex: number;\n}\n\nexport type AnchoredPopupBounds = Pick<\n DOMRect,\n 'top' | 'bottom' | 'left' | 'width' | 'height'\n>;\n\n/** Mount element metrics for portaled absolute positioning. */\nexport interface AnchoredPopupContainerFrame {\n /** Visible viewport bounds used for flip/max-height. */\n bounds: Pick<DOMRect, 'top' | 'bottom'>;\n /** Maps a viewport anchor rect into mount padding-box coordinates. */\n anchorInContainer: (\n anchorRect: Pick<DOMRect, 'top' | 'bottom' | 'left' | 'width'>,\n ) => {\n left: number;\n top: number;\n bottom: number;\n width: number;\n };\n /** Visible padding-box height used for above `bottom` anchoring. */\n clientHeight: number;\n /** Current vertical scroll offset of the mount. */\n scrollTop: number;\n}\n\nexport function getAnchoredPopupContainerFrame(\n mount: HTMLElement,\n): AnchoredPopupContainerFrame {\n const borderRect = mount.getBoundingClientRect();\n const boundsTop = borderRect.top + mount.clientTop;\n const boundsBottom = boundsTop + mount.clientHeight;\n\n return {\n bounds: { top: boundsTop, bottom: boundsBottom },\n anchorInContainer: (anchorRect: Pick<DOMRect, 'top' | 'bottom' | 'left' | 'width'>) => ({\n left:\n anchorRect.left -\n borderRect.left -\n mount.clientLeft +\n mount.scrollLeft,\n top:\n anchorRect.top -\n borderRect.top -\n mount.clientTop +\n mount.scrollTop,\n bottom:\n anchorRect.bottom -\n borderRect.top -\n mount.clientTop +\n mount.scrollTop,\n width: anchorRect.width,\n }),\n clientHeight: mount.clientHeight,\n scrollTop: mount.scrollTop,\n };\n}\n\n/**\n * Fixed box coords for a portaled popup anchored to a trigger rect.\n * Below: top edge sits `gap` px under the trigger bottom.\n * Above: bottom edge sits `gap` px above the trigger top (uses `bottom` so\n * height does not affect the gap).\n *\n * When `containerFrame` is provided, returns `absolute` coords in the mount\n * padding box (accounts for scroll and client border offsets). Otherwise uses\n * viewport `fixed` coords (document.body default).\n */\nexport function computeAnchoredPopupFixedStyle(\n anchorRect: Pick<DOMRect, 'top' | 'bottom' | 'left' | 'width'>,\n placement: PopupPlacement,\n options: {\n gap?: number;\n zIndex?: number;\n /** Override width (defaults to trigger width). */\n width?: number;\n viewportHeight?: number;\n containerFrame?: AnchoredPopupContainerFrame;\n },\n): AnchoredPopupFixedStyle {\n const gap = options.gap ?? ANCHORED_POPUP_GAP;\n const width = options.width ?? anchorRect.width;\n const zIndex = options.zIndex ?? ANCHORED_POPUP_Z_INDEX;\n const containerFrame = options.containerFrame;\n\n if (containerFrame) {\n const anchor = containerFrame.anchorInContainer(anchorRect);\n if (placement === 'below') {\n return {\n position: 'absolute',\n top: anchor.bottom + gap,\n left: anchor.left,\n width,\n zIndex,\n };\n }\n const visibleTop = anchor.top - containerFrame.scrollTop;\n return {\n position: 'absolute',\n bottom: containerFrame.clientHeight - visibleTop + gap,\n left: anchor.left,\n width,\n zIndex,\n };\n }\n\n const viewportHeight = options.viewportHeight ?? window.innerHeight;\n\n if (placement === 'below') {\n return {\n position: 'fixed',\n top: anchorRect.bottom + gap,\n left: anchorRect.left,\n width,\n zIndex,\n };\n }\n\n return {\n position: 'fixed',\n bottom: viewportHeight - anchorRect.top + gap,\n left: anchorRect.left,\n width,\n zIndex,\n };\n}\n"],"names":["ANCHORED_POPUP_GAP","ANCHORED_POPUP_VIEWPORT_MARGIN","ANCHORED_POPUP_MIN_HEIGHT","ANCHORED_POPUP_Z_INDEX","computeAnchoredPopupPlacement","anchorRect","viewportHeight","options","gap","viewportMargin","minHeight","preferredHeight","boundsTop","_a","boundsBottom","_b","spaceBelow","spaceAbove","placement","available","capped","getAnchoredPopupContainerFrame","mount","borderRect","computeAnchoredPopupFixedStyle","width","zIndex","containerFrame","anchor","visibleTop"],"mappings":"gFAEO,MAAMA,EAAqB,EACrBC,EAAiC,GACjCC,EAA4B,IAE5BC,EAAyB,IAyB/B,SAASC,EACdC,EACAC,EACAC,EAI8B,SAC9B,MAAMC,EAAMD,EAAQ,KAAOP,EACrBS,EACJF,EAAQ,gBAAkBN,EACtBS,EAAYH,EAAQ,WAAaL,EACjCS,EAAkB,KAAK,IAAIJ,EAAQ,gBAAiB,CAAC,EAErDK,IAAYC,EAAAN,EAAQ,SAAR,YAAAM,EAAgB,MAAO,EACnCC,IAAeC,EAAAR,EAAQ,SAAR,YAAAQ,EAAgB,SAAUT,EAEzCU,EAAa,KAAK,IACtB,EACAF,EAAeT,EAAW,OAASG,EAAMC,CAAA,EAErCQ,EAAa,KAAK,IAAI,EAAGZ,EAAW,IAAMO,EAAYJ,EAAMC,CAAc,EAE1ES,EACJF,EAAaL,GAAmBM,EAAaD,EAAa,QAAU,QAEhEG,EAAYD,IAAc,QAAUF,EAAaC,EACjDG,EACJb,EAAQ,cAAgB,KACpB,KAAK,IAAIA,EAAQ,aAAcY,CAAS,EACxCA,EAEN,MAAO,CACL,UAAAD,EACA,UAAW,KAAK,IAAIR,EAAWU,CAAM,CAAA,CAEzC,CAmCO,SAASC,EACdC,EAC6B,CAC7B,MAAMC,EAAaD,EAAM,sBAAA,EACnBV,EAAYW,EAAW,IAAMD,EAAM,UACnCR,EAAeF,EAAYU,EAAM,aAEvC,MAAO,CACL,OAAQ,CAAE,IAAKV,EAAW,OAAQE,CAAA,EAClC,kBAAoBT,IAAoE,CACtF,KACEA,EAAW,KACXkB,EAAW,KACXD,EAAM,WACNA,EAAM,WACR,IACEjB,EAAW,IACXkB,EAAW,IACXD,EAAM,UACNA,EAAM,UACR,OACEjB,EAAW,OACXkB,EAAW,IACXD,EAAM,UACNA,EAAM,UACR,MAAOjB,EAAW,KAAA,GAEpB,aAAciB,EAAM,aACpB,UAAWA,EAAM,SAAA,CAErB,CAYO,SAASE,EACdnB,EACAa,EACAX,EAQyB,CACzB,MAAMC,EAAMD,EAAQ,KAAOP,EACrByB,EAAQlB,EAAQ,OAASF,EAAW,MACpCqB,EAASnB,EAAQ,QAAUJ,EAC3BwB,EAAiBpB,EAAQ,eAE/B,GAAIoB,EAAgB,CAClB,MAAMC,EAASD,EAAe,kBAAkBtB,CAAU,EAC1D,GAAIa,IAAc,QAChB,MAAO,CACL,SAAU,WACV,IAAKU,EAAO,OAASpB,EACrB,KAAMoB,EAAO,KACb,MAAAH,EACA,OAAAC,CAAA,EAGJ,MAAMG,EAAaD,EAAO,IAAMD,EAAe,UAC/C,MAAO,CACL,SAAU,WACV,OAAQA,EAAe,aAAeE,EAAarB,EACnD,KAAMoB,EAAO,KACb,MAAAH,EACA,OAAAC,CAAA,CAEJ,CAEA,MAAMpB,EAAiBC,EAAQ,gBAAkB,OAAO,YAExD,OAAIW,IAAc,QACT,CACL,SAAU,QACV,IAAKb,EAAW,OAASG,EACzB,KAAMH,EAAW,KACjB,MAAAoB,EACA,OAAAC,CAAA,EAIG,CACL,SAAU,QACV,OAAQpB,EAAiBD,EAAW,IAAMG,EAC1C,KAAMH,EAAW,KACjB,MAAAoB,EACA,OAAAC,CAAA,CAEJ"}
1
+ {"version":3,"file":"anchoredPopupPlacement.cjs","sources":["../../src/utils/anchoredPopupPlacement.ts"],"sourcesContent":["export type PopupPlacement = 'above' | 'below';\n\nexport const ANCHORED_POPUP_GAP = 4;\nexport const ANCHORED_POPUP_VIEWPORT_MARGIN = 48;\nexport const ANCHORED_POPUP_MIN_HEIGHT = 120;\n/** Default stacking above typical product chrome; hosts can override via zIndex. */\nexport const ANCHORED_POPUP_Z_INDEX = 1000;\n\nexport interface AnchoredPopupPlacementOptions {\n /** Gap between trigger and popup. Default: 4. */\n gap?: number;\n /** Reserved space at the viewport edge. Default: 48. */\n viewportMargin?: number;\n /** Height used to decide whether the popup fits below. */\n preferredHeight: number;\n /** Cap for scrollable menus (e.g. Select/Combobox 280). */\n maxHeightCap?: number;\n /** Floor so short viewports still show a scrollable list. Default: 120. */\n minHeight?: number;\n}\n\nexport interface AnchoredPopupPlacementResult {\n placement: PopupPlacement;\n maxHeight: number;\n}\n\n/**\n * Prefers opening below the anchor; flips above when there isn’t enough room\n * below and there is more space above. Max-height is the available space in the\n * chosen direction, optionally capped.\n */\nexport function computeAnchoredPopupPlacement(\n anchorRect: Pick<DOMRect, 'top' | 'bottom'>,\n viewportHeight: number,\n options: AnchoredPopupPlacementOptions & {\n /** When set, flip/max-height use this box instead of the viewport. */\n bounds?: Pick<DOMRect, 'top' | 'bottom'>;\n },\n): AnchoredPopupPlacementResult {\n const gap = options.gap ?? ANCHORED_POPUP_GAP;\n const viewportMargin =\n options.viewportMargin ?? ANCHORED_POPUP_VIEWPORT_MARGIN;\n const minHeight = options.minHeight ?? ANCHORED_POPUP_MIN_HEIGHT;\n const preferredHeight = Math.max(options.preferredHeight, 0);\n\n const boundsTop = options.bounds?.top ?? 0;\n const boundsBottom = options.bounds?.bottom ?? viewportHeight;\n\n const spaceBelow = Math.max(\n 0,\n boundsBottom - anchorRect.bottom - gap - viewportMargin,\n );\n const spaceAbove = Math.max(\n 0,\n anchorRect.top - boundsTop - gap - viewportMargin,\n );\n\n const placement: PopupPlacement =\n spaceBelow < preferredHeight && spaceAbove > spaceBelow ? 'above' : 'below';\n\n const available = placement === 'below' ? spaceBelow : spaceAbove;\n const capped =\n options.maxHeightCap != null\n ? Math.min(options.maxHeightCap, available)\n : available;\n\n return {\n placement,\n maxHeight: Math.max(minHeight, capped),\n };\n}\n\nexport interface AnchoredPopupFixedStyle {\n position: 'fixed' | 'absolute';\n top?: number;\n bottom?: number;\n left: number;\n width: number;\n zIndex: number;\n}\n\nexport type AnchoredPopupBounds = Pick<\n DOMRect,\n 'top' | 'bottom' | 'left' | 'width' | 'height'\n>;\n\n/** Mount element metrics for portaled absolute positioning. */\nexport interface AnchoredPopupContainerFrame {\n /** Visible viewport bounds used for flip/max-height. */\n bounds: Pick<DOMRect, 'top' | 'bottom'>;\n /** Maps a viewport anchor rect into mount padding-box coordinates. */\n anchorInContainer: (\n anchorRect: Pick<DOMRect, 'top' | 'bottom' | 'left' | 'width'>,\n ) => {\n left: number;\n top: number;\n bottom: number;\n width: number;\n };\n /** Visible padding-box height used for above `bottom` anchoring. */\n clientHeight: number;\n /** Current vertical scroll offset of the mount. */\n scrollTop: number;\n}\n\nexport function getAnchoredPopupContainerFrame(\n mount: HTMLElement,\n): AnchoredPopupContainerFrame {\n const borderRect = mount.getBoundingClientRect();\n const boundsTop = borderRect.top + mount.clientTop;\n const boundsBottom = boundsTop + mount.clientHeight;\n\n return {\n bounds: { top: boundsTop, bottom: boundsBottom },\n anchorInContainer: (\n anchorRect: Pick<DOMRect, 'top' | 'bottom' | 'left' | 'width'>,\n ) => ({\n left:\n anchorRect.left - borderRect.left - mount.clientLeft + mount.scrollLeft,\n top: anchorRect.top - borderRect.top - mount.clientTop + mount.scrollTop,\n bottom:\n anchorRect.bottom - borderRect.top - mount.clientTop + mount.scrollTop,\n width: anchorRect.width,\n }),\n clientHeight: mount.clientHeight,\n scrollTop: mount.scrollTop,\n };\n}\n\n/**\n * Fixed box coords for a portaled popup anchored to a trigger rect.\n * Below: top edge sits `gap` px under the trigger bottom.\n * Above: bottom edge sits `gap` px above the trigger top (uses `bottom` so\n * height does not affect the gap).\n *\n * When `containerFrame` is provided, returns `absolute` coords in the mount\n * padding box (accounts for scroll and client border offsets). Otherwise uses\n * viewport `fixed` coords (document.body default).\n */\nexport function computeAnchoredPopupFixedStyle(\n anchorRect: Pick<DOMRect, 'top' | 'bottom' | 'left' | 'width'>,\n placement: PopupPlacement,\n options: {\n gap?: number;\n zIndex?: number;\n /** Override width (defaults to trigger width). */\n width?: number;\n viewportHeight?: number;\n containerFrame?: AnchoredPopupContainerFrame;\n },\n): AnchoredPopupFixedStyle {\n const gap = options.gap ?? ANCHORED_POPUP_GAP;\n const width = options.width ?? anchorRect.width;\n const zIndex = options.zIndex ?? ANCHORED_POPUP_Z_INDEX;\n const containerFrame = options.containerFrame;\n\n if (containerFrame) {\n const anchor = containerFrame.anchorInContainer(anchorRect);\n if (placement === 'below') {\n return {\n position: 'absolute',\n top: anchor.bottom + gap,\n left: anchor.left,\n width,\n zIndex,\n };\n }\n const visibleTop = anchor.top - containerFrame.scrollTop;\n return {\n position: 'absolute',\n bottom: containerFrame.clientHeight - visibleTop + gap,\n left: anchor.left,\n width,\n zIndex,\n };\n }\n\n const viewportHeight = options.viewportHeight ?? window.innerHeight;\n\n if (placement === 'below') {\n return {\n position: 'fixed',\n top: anchorRect.bottom + gap,\n left: anchorRect.left,\n width,\n zIndex,\n };\n }\n\n return {\n position: 'fixed',\n bottom: viewportHeight - anchorRect.top + gap,\n left: anchorRect.left,\n width,\n zIndex,\n };\n}\n"],"names":["ANCHORED_POPUP_GAP","ANCHORED_POPUP_VIEWPORT_MARGIN","ANCHORED_POPUP_MIN_HEIGHT","ANCHORED_POPUP_Z_INDEX","computeAnchoredPopupPlacement","anchorRect","viewportHeight","options","gap","viewportMargin","minHeight","preferredHeight","boundsTop","_a","boundsBottom","_b","spaceBelow","spaceAbove","placement","available","capped","getAnchoredPopupContainerFrame","mount","borderRect","computeAnchoredPopupFixedStyle","width","zIndex","containerFrame","anchor","visibleTop"],"mappings":"gFAEO,MAAMA,EAAqB,EACrBC,EAAiC,GACjCC,EAA4B,IAE5BC,EAAyB,IAyB/B,SAASC,EACdC,EACAC,EACAC,EAI8B,SAC9B,MAAMC,EAAMD,EAAQ,KAAOP,EACrBS,EACJF,EAAQ,gBAAkBN,EACtBS,EAAYH,EAAQ,WAAaL,EACjCS,EAAkB,KAAK,IAAIJ,EAAQ,gBAAiB,CAAC,EAErDK,IAAYC,EAAAN,EAAQ,SAAR,YAAAM,EAAgB,MAAO,EACnCC,IAAeC,EAAAR,EAAQ,SAAR,YAAAQ,EAAgB,SAAUT,EAEzCU,EAAa,KAAK,IACtB,EACAF,EAAeT,EAAW,OAASG,EAAMC,CAAA,EAErCQ,EAAa,KAAK,IACtB,EACAZ,EAAW,IAAMO,EAAYJ,EAAMC,CAAA,EAG/BS,EACJF,EAAaL,GAAmBM,EAAaD,EAAa,QAAU,QAEhEG,EAAYD,IAAc,QAAUF,EAAaC,EACjDG,EACJb,EAAQ,cAAgB,KACpB,KAAK,IAAIA,EAAQ,aAAcY,CAAS,EACxCA,EAEN,MAAO,CACL,UAAAD,EACA,UAAW,KAAK,IAAIR,EAAWU,CAAM,CAAA,CAEzC,CAmCO,SAASC,EACdC,EAC6B,CAC7B,MAAMC,EAAaD,EAAM,sBAAA,EACnBV,EAAYW,EAAW,IAAMD,EAAM,UACnCR,EAAeF,EAAYU,EAAM,aAEvC,MAAO,CACL,OAAQ,CAAE,IAAKV,EAAW,OAAQE,CAAA,EAClC,kBACET,IACI,CACJ,KACEA,EAAW,KAAOkB,EAAW,KAAOD,EAAM,WAAaA,EAAM,WAC/D,IAAKjB,EAAW,IAAMkB,EAAW,IAAMD,EAAM,UAAYA,EAAM,UAC/D,OACEjB,EAAW,OAASkB,EAAW,IAAMD,EAAM,UAAYA,EAAM,UAC/D,MAAOjB,EAAW,KAAA,GAEpB,aAAciB,EAAM,aACpB,UAAWA,EAAM,SAAA,CAErB,CAYO,SAASE,EACdnB,EACAa,EACAX,EAQyB,CACzB,MAAMC,EAAMD,EAAQ,KAAOP,EACrByB,EAAQlB,EAAQ,OAASF,EAAW,MACpCqB,EAASnB,EAAQ,QAAUJ,EAC3BwB,EAAiBpB,EAAQ,eAE/B,GAAIoB,EAAgB,CAClB,MAAMC,EAASD,EAAe,kBAAkBtB,CAAU,EAC1D,GAAIa,IAAc,QAChB,MAAO,CACL,SAAU,WACV,IAAKU,EAAO,OAASpB,EACrB,KAAMoB,EAAO,KACb,MAAAH,EACA,OAAAC,CAAA,EAGJ,MAAMG,EAAaD,EAAO,IAAMD,EAAe,UAC/C,MAAO,CACL,SAAU,WACV,OAAQA,EAAe,aAAeE,EAAarB,EACnD,KAAMoB,EAAO,KACb,MAAAH,EACA,OAAAC,CAAA,CAEJ,CAEA,MAAMpB,EAAiBC,EAAQ,gBAAkB,OAAO,YAExD,OAAIW,IAAc,QACT,CACL,SAAU,QACV,IAAKb,EAAW,OAASG,EACzB,KAAMH,EAAW,KACjB,MAAAoB,EACA,OAAAC,CAAA,EAIG,CACL,SAAU,QACV,OAAQpB,EAAiBD,EAAW,IAAMG,EAC1C,KAAMH,EAAW,KACjB,MAAAoB,EACA,OAAAC,CAAA,CAEJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"anchoredPopupPlacement.d.ts","sourceRoot":"","sources":["../../src/utils/anchoredPopupPlacement.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,OAAO,CAAC;AAE/C,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,eAAO,MAAM,8BAA8B,KAAK,CAAC;AACjD,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAC7C,oFAAoF;AACpF,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAE3C,MAAM,WAAW,6BAA6B;IAC5C,iDAAiD;IACjD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,wDAAwD;IACxD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,0DAA0D;IAC1D,eAAe,EAAE,MAAM,CAAC;IACxB,2DAA2D;IAC3D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,4BAA4B;IAC3C,SAAS,EAAE,cAAc,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC3C,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,GAAG,QAAQ,CAAC,EAC3C,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,6BAA6B,GAAG;IACvC,sEAAsE;IACtE,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,GAAG,QAAQ,CAAC,CAAC;CAC1C,GACA,4BAA4B,CA6B9B;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,OAAO,GAAG,UAAU,CAAC;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,mBAAmB,GAAG,IAAI,CACpC,OAAO,EACP,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAC/C,CAAC;AAEF,+DAA+D;AAC/D,MAAM,WAAW,2BAA2B;IAC1C,wDAAwD;IACxD,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,GAAG,QAAQ,CAAC,CAAC;IACxC,sEAAsE;IACtE,iBAAiB,EAAE,CACjB,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC,KAC3D;QACH,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,oEAAoE;IACpE,YAAY,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,WAAW,GACjB,2BAA2B,CA4B7B;AAED;;;;;;;;;GASG;AACH,wBAAgB,8BAA8B,CAC5C,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC,EAC9D,SAAS,EAAE,cAAc,EACzB,OAAO,EAAE;IACP,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,2BAA2B,CAAC;CAC9C,GACA,uBAAuB,CA8CzB"}
1
+ {"version":3,"file":"anchoredPopupPlacement.d.ts","sourceRoot":"","sources":["../../src/utils/anchoredPopupPlacement.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,OAAO,CAAC;AAE/C,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,eAAO,MAAM,8BAA8B,KAAK,CAAC;AACjD,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAC7C,oFAAoF;AACpF,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAE3C,MAAM,WAAW,6BAA6B;IAC5C,iDAAiD;IACjD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,wDAAwD;IACxD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,0DAA0D;IAC1D,eAAe,EAAE,MAAM,CAAC;IACxB,2DAA2D;IAC3D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,4BAA4B;IAC3C,SAAS,EAAE,cAAc,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC3C,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,GAAG,QAAQ,CAAC,EAC3C,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,6BAA6B,GAAG;IACvC,sEAAsE;IACtE,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,GAAG,QAAQ,CAAC,CAAC;CAC1C,GACA,4BAA4B,CAgC9B;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,OAAO,GAAG,UAAU,CAAC;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,mBAAmB,GAAG,IAAI,CACpC,OAAO,EACP,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAC/C,CAAC;AAEF,+DAA+D;AAC/D,MAAM,WAAW,2BAA2B;IAC1C,wDAAwD;IACxD,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,GAAG,QAAQ,CAAC,CAAC;IACxC,sEAAsE;IACtE,iBAAiB,EAAE,CACjB,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC,KAC3D;QACH,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,oEAAoE;IACpE,YAAY,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,WAAW,GACjB,2BAA2B,CAoB7B;AAED;;;;;;;;;GASG;AACH,wBAAgB,8BAA8B,CAC5C,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC,EAC9D,SAAS,EAAE,cAAc,EACzB,OAAO,EAAE;IACP,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,2BAA2B,CAAC;CAC9C,GACA,uBAAuB,CA8CzB"}
@@ -4,7 +4,10 @@ function A(t, n, e) {
4
4
  const i = e.gap ?? 4, o = e.viewportMargin ?? 48, l = e.minHeight ?? 120, p = Math.max(e.preferredHeight, 0), s = ((H = e.bounds) == null ? void 0 : H.top) ?? 0, c = ((d = e.bounds) == null ? void 0 : d.bottom) ?? n, r = Math.max(
5
5
  0,
6
6
  c - t.bottom - i - o
7
- ), P = Math.max(0, t.top - s - i - o), a = r < p && P > r ? "above" : "below", b = a === "below" ? r : P, _ = e.maxHeightCap != null ? Math.min(e.maxHeightCap, b) : b;
7
+ ), P = Math.max(
8
+ 0,
9
+ t.top - s - i - o
10
+ ), a = r < p && P > r ? "above" : "below", b = a === "below" ? r : P, _ = e.maxHeightCap != null ? Math.min(e.maxHeightCap, b) : b;
8
11
  return {
9
12
  placement: a,
10
13
  maxHeight: Math.max(l, _)
@@ -1 +1 @@
1
- {"version":3,"file":"anchoredPopupPlacement.js","sources":["../../src/utils/anchoredPopupPlacement.ts"],"sourcesContent":["export type PopupPlacement = 'above' | 'below';\n\nexport const ANCHORED_POPUP_GAP = 4;\nexport const ANCHORED_POPUP_VIEWPORT_MARGIN = 48;\nexport const ANCHORED_POPUP_MIN_HEIGHT = 120;\n/** Default stacking above typical product chrome; hosts can override via zIndex. */\nexport const ANCHORED_POPUP_Z_INDEX = 1000;\n\nexport interface AnchoredPopupPlacementOptions {\n /** Gap between trigger and popup. Default: 4. */\n gap?: number;\n /** Reserved space at the viewport edge. Default: 48. */\n viewportMargin?: number;\n /** Height used to decide whether the popup fits below. */\n preferredHeight: number;\n /** Cap for scrollable menus (e.g. Select/Combobox 280). */\n maxHeightCap?: number;\n /** Floor so short viewports still show a scrollable list. Default: 120. */\n minHeight?: number;\n}\n\nexport interface AnchoredPopupPlacementResult {\n placement: PopupPlacement;\n maxHeight: number;\n}\n\n/**\n * Prefers opening below the anchor; flips above when there isn’t enough room\n * below and there is more space above. Max-height is the available space in the\n * chosen direction, optionally capped.\n */\nexport function computeAnchoredPopupPlacement(\n anchorRect: Pick<DOMRect, 'top' | 'bottom'>,\n viewportHeight: number,\n options: AnchoredPopupPlacementOptions & {\n /** When set, flip/max-height use this box instead of the viewport. */\n bounds?: Pick<DOMRect, 'top' | 'bottom'>;\n },\n): AnchoredPopupPlacementResult {\n const gap = options.gap ?? ANCHORED_POPUP_GAP;\n const viewportMargin =\n options.viewportMargin ?? ANCHORED_POPUP_VIEWPORT_MARGIN;\n const minHeight = options.minHeight ?? ANCHORED_POPUP_MIN_HEIGHT;\n const preferredHeight = Math.max(options.preferredHeight, 0);\n\n const boundsTop = options.bounds?.top ?? 0;\n const boundsBottom = options.bounds?.bottom ?? viewportHeight;\n\n const spaceBelow = Math.max(\n 0,\n boundsBottom - anchorRect.bottom - gap - viewportMargin,\n );\n const spaceAbove = Math.max(0, anchorRect.top - boundsTop - gap - viewportMargin);\n\n const placement: PopupPlacement =\n spaceBelow < preferredHeight && spaceAbove > spaceBelow ? 'above' : 'below';\n\n const available = placement === 'below' ? spaceBelow : spaceAbove;\n const capped =\n options.maxHeightCap != null\n ? Math.min(options.maxHeightCap, available)\n : available;\n\n return {\n placement,\n maxHeight: Math.max(minHeight, capped),\n };\n}\n\nexport interface AnchoredPopupFixedStyle {\n position: 'fixed' | 'absolute';\n top?: number;\n bottom?: number;\n left: number;\n width: number;\n zIndex: number;\n}\n\nexport type AnchoredPopupBounds = Pick<\n DOMRect,\n 'top' | 'bottom' | 'left' | 'width' | 'height'\n>;\n\n/** Mount element metrics for portaled absolute positioning. */\nexport interface AnchoredPopupContainerFrame {\n /** Visible viewport bounds used for flip/max-height. */\n bounds: Pick<DOMRect, 'top' | 'bottom'>;\n /** Maps a viewport anchor rect into mount padding-box coordinates. */\n anchorInContainer: (\n anchorRect: Pick<DOMRect, 'top' | 'bottom' | 'left' | 'width'>,\n ) => {\n left: number;\n top: number;\n bottom: number;\n width: number;\n };\n /** Visible padding-box height used for above `bottom` anchoring. */\n clientHeight: number;\n /** Current vertical scroll offset of the mount. */\n scrollTop: number;\n}\n\nexport function getAnchoredPopupContainerFrame(\n mount: HTMLElement,\n): AnchoredPopupContainerFrame {\n const borderRect = mount.getBoundingClientRect();\n const boundsTop = borderRect.top + mount.clientTop;\n const boundsBottom = boundsTop + mount.clientHeight;\n\n return {\n bounds: { top: boundsTop, bottom: boundsBottom },\n anchorInContainer: (anchorRect: Pick<DOMRect, 'top' | 'bottom' | 'left' | 'width'>) => ({\n left:\n anchorRect.left -\n borderRect.left -\n mount.clientLeft +\n mount.scrollLeft,\n top:\n anchorRect.top -\n borderRect.top -\n mount.clientTop +\n mount.scrollTop,\n bottom:\n anchorRect.bottom -\n borderRect.top -\n mount.clientTop +\n mount.scrollTop,\n width: anchorRect.width,\n }),\n clientHeight: mount.clientHeight,\n scrollTop: mount.scrollTop,\n };\n}\n\n/**\n * Fixed box coords for a portaled popup anchored to a trigger rect.\n * Below: top edge sits `gap` px under the trigger bottom.\n * Above: bottom edge sits `gap` px above the trigger top (uses `bottom` so\n * height does not affect the gap).\n *\n * When `containerFrame` is provided, returns `absolute` coords in the mount\n * padding box (accounts for scroll and client border offsets). Otherwise uses\n * viewport `fixed` coords (document.body default).\n */\nexport function computeAnchoredPopupFixedStyle(\n anchorRect: Pick<DOMRect, 'top' | 'bottom' | 'left' | 'width'>,\n placement: PopupPlacement,\n options: {\n gap?: number;\n zIndex?: number;\n /** Override width (defaults to trigger width). */\n width?: number;\n viewportHeight?: number;\n containerFrame?: AnchoredPopupContainerFrame;\n },\n): AnchoredPopupFixedStyle {\n const gap = options.gap ?? ANCHORED_POPUP_GAP;\n const width = options.width ?? anchorRect.width;\n const zIndex = options.zIndex ?? ANCHORED_POPUP_Z_INDEX;\n const containerFrame = options.containerFrame;\n\n if (containerFrame) {\n const anchor = containerFrame.anchorInContainer(anchorRect);\n if (placement === 'below') {\n return {\n position: 'absolute',\n top: anchor.bottom + gap,\n left: anchor.left,\n width,\n zIndex,\n };\n }\n const visibleTop = anchor.top - containerFrame.scrollTop;\n return {\n position: 'absolute',\n bottom: containerFrame.clientHeight - visibleTop + gap,\n left: anchor.left,\n width,\n zIndex,\n };\n }\n\n const viewportHeight = options.viewportHeight ?? window.innerHeight;\n\n if (placement === 'below') {\n return {\n position: 'fixed',\n top: anchorRect.bottom + gap,\n left: anchorRect.left,\n width,\n zIndex,\n };\n }\n\n return {\n position: 'fixed',\n bottom: viewportHeight - anchorRect.top + gap,\n left: anchorRect.left,\n width,\n zIndex,\n };\n}\n"],"names":["ANCHORED_POPUP_GAP","ANCHORED_POPUP_VIEWPORT_MARGIN","ANCHORED_POPUP_MIN_HEIGHT","ANCHORED_POPUP_Z_INDEX","computeAnchoredPopupPlacement","anchorRect","viewportHeight","options","_a","_b","gap","viewportMargin","minHeight","preferredHeight","boundsTop","boundsBottom","spaceBelow","spaceAbove","placement","available","capped","getAnchoredPopupContainerFrame","mount","borderRect","computeAnchoredPopupFixedStyle","width","zIndex","containerFrame","anchor","visibleTop"],"mappings":"AAEO,MAAMA,IAAqB,GACrBC,IAAiC,IACjCC,IAA4B,KAE5BC,IAAyB;AAyB/B,SAASC,EACdC,GACAC,GACAC,GAI8B;AApCzB,MAAAC,GAAAC;AAqCL,QAAMC,IAAMH,EAAQ,OAAO,GACrBI,IACJJ,EAAQ,kBAAkB,IACtBK,IAAYL,EAAQ,aAAa,KACjCM,IAAkB,KAAK,IAAIN,EAAQ,iBAAiB,CAAC,GAErDO,MAAYN,IAAAD,EAAQ,WAAR,gBAAAC,EAAgB,QAAO,GACnCO,MAAeN,IAAAF,EAAQ,WAAR,gBAAAE,EAAgB,WAAUH,GAEzCU,IAAa,KAAK;AAAA,IACtB;AAAA,IACAD,IAAeV,EAAW,SAASK,IAAMC;AAAA,EAAA,GAErCM,IAAa,KAAK,IAAI,GAAGZ,EAAW,MAAMS,IAAYJ,IAAMC,CAAc,GAE1EO,IACJF,IAAaH,KAAmBI,IAAaD,IAAa,UAAU,SAEhEG,IAAYD,MAAc,UAAUF,IAAaC,GACjDG,IACJb,EAAQ,gBAAgB,OACpB,KAAK,IAAIA,EAAQ,cAAcY,CAAS,IACxCA;AAEN,SAAO;AAAA,IACL,WAAAD;AAAA,IACA,WAAW,KAAK,IAAIN,GAAWQ,CAAM;AAAA,EAAA;AAEzC;AAmCO,SAASC,EACdC,GAC6B;AAC7B,QAAMC,IAAaD,EAAM,sBAAA,GACnBR,IAAYS,EAAW,MAAMD,EAAM,WACnCP,IAAeD,IAAYQ,EAAM;AAEvC,SAAO;AAAA,IACL,QAAQ,EAAE,KAAKR,GAAW,QAAQC,EAAA;AAAA,IAClC,mBAAmB,CAACV,OAAoE;AAAA,MACtF,MACEA,EAAW,OACXkB,EAAW,OACXD,EAAM,aACNA,EAAM;AAAA,MACR,KACEjB,EAAW,MACXkB,EAAW,MACXD,EAAM,YACNA,EAAM;AAAA,MACR,QACEjB,EAAW,SACXkB,EAAW,MACXD,EAAM,YACNA,EAAM;AAAA,MACR,OAAOjB,EAAW;AAAA,IAAA;AAAA,IAEpB,cAAciB,EAAM;AAAA,IACpB,WAAWA,EAAM;AAAA,EAAA;AAErB;AAYO,SAASE,EACdnB,GACAa,GACAX,GAQyB;AACzB,QAAMG,IAAMH,EAAQ,OAAO,GACrBkB,IAAQlB,EAAQ,SAASF,EAAW,OACpCqB,IAASnB,EAAQ,UAAU,KAC3BoB,IAAiBpB,EAAQ;AAE/B,MAAIoB,GAAgB;AAClB,UAAMC,IAASD,EAAe,kBAAkBtB,CAAU;AAC1D,QAAIa,MAAc;AAChB,aAAO;AAAA,QACL,UAAU;AAAA,QACV,KAAKU,EAAO,SAASlB;AAAA,QACrB,MAAMkB,EAAO;AAAA,QACb,OAAAH;AAAA,QACA,QAAAC;AAAA,MAAA;AAGJ,UAAMG,IAAaD,EAAO,MAAMD,EAAe;AAC/C,WAAO;AAAA,MACL,UAAU;AAAA,MACV,QAAQA,EAAe,eAAeE,IAAanB;AAAA,MACnD,MAAMkB,EAAO;AAAA,MACb,OAAAH;AAAA,MACA,QAAAC;AAAA,IAAA;AAAA,EAEJ;AAEA,QAAMpB,IAAiBC,EAAQ,kBAAkB,OAAO;AAExD,SAAIW,MAAc,UACT;AAAA,IACL,UAAU;AAAA,IACV,KAAKb,EAAW,SAASK;AAAA,IACzB,MAAML,EAAW;AAAA,IACjB,OAAAoB;AAAA,IACA,QAAAC;AAAA,EAAA,IAIG;AAAA,IACL,UAAU;AAAA,IACV,QAAQpB,IAAiBD,EAAW,MAAMK;AAAA,IAC1C,MAAML,EAAW;AAAA,IACjB,OAAAoB;AAAA,IACA,QAAAC;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"anchoredPopupPlacement.js","sources":["../../src/utils/anchoredPopupPlacement.ts"],"sourcesContent":["export type PopupPlacement = 'above' | 'below';\n\nexport const ANCHORED_POPUP_GAP = 4;\nexport const ANCHORED_POPUP_VIEWPORT_MARGIN = 48;\nexport const ANCHORED_POPUP_MIN_HEIGHT = 120;\n/** Default stacking above typical product chrome; hosts can override via zIndex. */\nexport const ANCHORED_POPUP_Z_INDEX = 1000;\n\nexport interface AnchoredPopupPlacementOptions {\n /** Gap between trigger and popup. Default: 4. */\n gap?: number;\n /** Reserved space at the viewport edge. Default: 48. */\n viewportMargin?: number;\n /** Height used to decide whether the popup fits below. */\n preferredHeight: number;\n /** Cap for scrollable menus (e.g. Select/Combobox 280). */\n maxHeightCap?: number;\n /** Floor so short viewports still show a scrollable list. Default: 120. */\n minHeight?: number;\n}\n\nexport interface AnchoredPopupPlacementResult {\n placement: PopupPlacement;\n maxHeight: number;\n}\n\n/**\n * Prefers opening below the anchor; flips above when there isn’t enough room\n * below and there is more space above. Max-height is the available space in the\n * chosen direction, optionally capped.\n */\nexport function computeAnchoredPopupPlacement(\n anchorRect: Pick<DOMRect, 'top' | 'bottom'>,\n viewportHeight: number,\n options: AnchoredPopupPlacementOptions & {\n /** When set, flip/max-height use this box instead of the viewport. */\n bounds?: Pick<DOMRect, 'top' | 'bottom'>;\n },\n): AnchoredPopupPlacementResult {\n const gap = options.gap ?? ANCHORED_POPUP_GAP;\n const viewportMargin =\n options.viewportMargin ?? ANCHORED_POPUP_VIEWPORT_MARGIN;\n const minHeight = options.minHeight ?? ANCHORED_POPUP_MIN_HEIGHT;\n const preferredHeight = Math.max(options.preferredHeight, 0);\n\n const boundsTop = options.bounds?.top ?? 0;\n const boundsBottom = options.bounds?.bottom ?? viewportHeight;\n\n const spaceBelow = Math.max(\n 0,\n boundsBottom - anchorRect.bottom - gap - viewportMargin,\n );\n const spaceAbove = Math.max(\n 0,\n anchorRect.top - boundsTop - gap - viewportMargin,\n );\n\n const placement: PopupPlacement =\n spaceBelow < preferredHeight && spaceAbove > spaceBelow ? 'above' : 'below';\n\n const available = placement === 'below' ? spaceBelow : spaceAbove;\n const capped =\n options.maxHeightCap != null\n ? Math.min(options.maxHeightCap, available)\n : available;\n\n return {\n placement,\n maxHeight: Math.max(minHeight, capped),\n };\n}\n\nexport interface AnchoredPopupFixedStyle {\n position: 'fixed' | 'absolute';\n top?: number;\n bottom?: number;\n left: number;\n width: number;\n zIndex: number;\n}\n\nexport type AnchoredPopupBounds = Pick<\n DOMRect,\n 'top' | 'bottom' | 'left' | 'width' | 'height'\n>;\n\n/** Mount element metrics for portaled absolute positioning. */\nexport interface AnchoredPopupContainerFrame {\n /** Visible viewport bounds used for flip/max-height. */\n bounds: Pick<DOMRect, 'top' | 'bottom'>;\n /** Maps a viewport anchor rect into mount padding-box coordinates. */\n anchorInContainer: (\n anchorRect: Pick<DOMRect, 'top' | 'bottom' | 'left' | 'width'>,\n ) => {\n left: number;\n top: number;\n bottom: number;\n width: number;\n };\n /** Visible padding-box height used for above `bottom` anchoring. */\n clientHeight: number;\n /** Current vertical scroll offset of the mount. */\n scrollTop: number;\n}\n\nexport function getAnchoredPopupContainerFrame(\n mount: HTMLElement,\n): AnchoredPopupContainerFrame {\n const borderRect = mount.getBoundingClientRect();\n const boundsTop = borderRect.top + mount.clientTop;\n const boundsBottom = boundsTop + mount.clientHeight;\n\n return {\n bounds: { top: boundsTop, bottom: boundsBottom },\n anchorInContainer: (\n anchorRect: Pick<DOMRect, 'top' | 'bottom' | 'left' | 'width'>,\n ) => ({\n left:\n anchorRect.left - borderRect.left - mount.clientLeft + mount.scrollLeft,\n top: anchorRect.top - borderRect.top - mount.clientTop + mount.scrollTop,\n bottom:\n anchorRect.bottom - borderRect.top - mount.clientTop + mount.scrollTop,\n width: anchorRect.width,\n }),\n clientHeight: mount.clientHeight,\n scrollTop: mount.scrollTop,\n };\n}\n\n/**\n * Fixed box coords for a portaled popup anchored to a trigger rect.\n * Below: top edge sits `gap` px under the trigger bottom.\n * Above: bottom edge sits `gap` px above the trigger top (uses `bottom` so\n * height does not affect the gap).\n *\n * When `containerFrame` is provided, returns `absolute` coords in the mount\n * padding box (accounts for scroll and client border offsets). Otherwise uses\n * viewport `fixed` coords (document.body default).\n */\nexport function computeAnchoredPopupFixedStyle(\n anchorRect: Pick<DOMRect, 'top' | 'bottom' | 'left' | 'width'>,\n placement: PopupPlacement,\n options: {\n gap?: number;\n zIndex?: number;\n /** Override width (defaults to trigger width). */\n width?: number;\n viewportHeight?: number;\n containerFrame?: AnchoredPopupContainerFrame;\n },\n): AnchoredPopupFixedStyle {\n const gap = options.gap ?? ANCHORED_POPUP_GAP;\n const width = options.width ?? anchorRect.width;\n const zIndex = options.zIndex ?? ANCHORED_POPUP_Z_INDEX;\n const containerFrame = options.containerFrame;\n\n if (containerFrame) {\n const anchor = containerFrame.anchorInContainer(anchorRect);\n if (placement === 'below') {\n return {\n position: 'absolute',\n top: anchor.bottom + gap,\n left: anchor.left,\n width,\n zIndex,\n };\n }\n const visibleTop = anchor.top - containerFrame.scrollTop;\n return {\n position: 'absolute',\n bottom: containerFrame.clientHeight - visibleTop + gap,\n left: anchor.left,\n width,\n zIndex,\n };\n }\n\n const viewportHeight = options.viewportHeight ?? window.innerHeight;\n\n if (placement === 'below') {\n return {\n position: 'fixed',\n top: anchorRect.bottom + gap,\n left: anchorRect.left,\n width,\n zIndex,\n };\n }\n\n return {\n position: 'fixed',\n bottom: viewportHeight - anchorRect.top + gap,\n left: anchorRect.left,\n width,\n zIndex,\n };\n}\n"],"names":["ANCHORED_POPUP_GAP","ANCHORED_POPUP_VIEWPORT_MARGIN","ANCHORED_POPUP_MIN_HEIGHT","ANCHORED_POPUP_Z_INDEX","computeAnchoredPopupPlacement","anchorRect","viewportHeight","options","_a","_b","gap","viewportMargin","minHeight","preferredHeight","boundsTop","boundsBottom","spaceBelow","spaceAbove","placement","available","capped","getAnchoredPopupContainerFrame","mount","borderRect","computeAnchoredPopupFixedStyle","width","zIndex","containerFrame","anchor","visibleTop"],"mappings":"AAEO,MAAMA,IAAqB,GACrBC,IAAiC,IACjCC,IAA4B,KAE5BC,IAAyB;AAyB/B,SAASC,EACdC,GACAC,GACAC,GAI8B;AApCzB,MAAAC,GAAAC;AAqCL,QAAMC,IAAMH,EAAQ,OAAO,GACrBI,IACJJ,EAAQ,kBAAkB,IACtBK,IAAYL,EAAQ,aAAa,KACjCM,IAAkB,KAAK,IAAIN,EAAQ,iBAAiB,CAAC,GAErDO,MAAYN,IAAAD,EAAQ,WAAR,gBAAAC,EAAgB,QAAO,GACnCO,MAAeN,IAAAF,EAAQ,WAAR,gBAAAE,EAAgB,WAAUH,GAEzCU,IAAa,KAAK;AAAA,IACtB;AAAA,IACAD,IAAeV,EAAW,SAASK,IAAMC;AAAA,EAAA,GAErCM,IAAa,KAAK;AAAA,IACtB;AAAA,IACAZ,EAAW,MAAMS,IAAYJ,IAAMC;AAAA,EAAA,GAG/BO,IACJF,IAAaH,KAAmBI,IAAaD,IAAa,UAAU,SAEhEG,IAAYD,MAAc,UAAUF,IAAaC,GACjDG,IACJb,EAAQ,gBAAgB,OACpB,KAAK,IAAIA,EAAQ,cAAcY,CAAS,IACxCA;AAEN,SAAO;AAAA,IACL,WAAAD;AAAA,IACA,WAAW,KAAK,IAAIN,GAAWQ,CAAM;AAAA,EAAA;AAEzC;AAmCO,SAASC,EACdC,GAC6B;AAC7B,QAAMC,IAAaD,EAAM,sBAAA,GACnBR,IAAYS,EAAW,MAAMD,EAAM,WACnCP,IAAeD,IAAYQ,EAAM;AAEvC,SAAO;AAAA,IACL,QAAQ,EAAE,KAAKR,GAAW,QAAQC,EAAA;AAAA,IAClC,mBAAmB,CACjBV,OACI;AAAA,MACJ,MACEA,EAAW,OAAOkB,EAAW,OAAOD,EAAM,aAAaA,EAAM;AAAA,MAC/D,KAAKjB,EAAW,MAAMkB,EAAW,MAAMD,EAAM,YAAYA,EAAM;AAAA,MAC/D,QACEjB,EAAW,SAASkB,EAAW,MAAMD,EAAM,YAAYA,EAAM;AAAA,MAC/D,OAAOjB,EAAW;AAAA,IAAA;AAAA,IAEpB,cAAciB,EAAM;AAAA,IACpB,WAAWA,EAAM;AAAA,EAAA;AAErB;AAYO,SAASE,EACdnB,GACAa,GACAX,GAQyB;AACzB,QAAMG,IAAMH,EAAQ,OAAO,GACrBkB,IAAQlB,EAAQ,SAASF,EAAW,OACpCqB,IAASnB,EAAQ,UAAU,KAC3BoB,IAAiBpB,EAAQ;AAE/B,MAAIoB,GAAgB;AAClB,UAAMC,IAASD,EAAe,kBAAkBtB,CAAU;AAC1D,QAAIa,MAAc;AAChB,aAAO;AAAA,QACL,UAAU;AAAA,QACV,KAAKU,EAAO,SAASlB;AAAA,QACrB,MAAMkB,EAAO;AAAA,QACb,OAAAH;AAAA,QACA,QAAAC;AAAA,MAAA;AAGJ,UAAMG,IAAaD,EAAO,MAAMD,EAAe;AAC/C,WAAO;AAAA,MACL,UAAU;AAAA,MACV,QAAQA,EAAe,eAAeE,IAAanB;AAAA,MACnD,MAAMkB,EAAO;AAAA,MACb,OAAAH;AAAA,MACA,QAAAC;AAAA,IAAA;AAAA,EAEJ;AAEA,QAAMpB,IAAiBC,EAAQ,kBAAkB,OAAO;AAExD,SAAIW,MAAc,UACT;AAAA,IACL,UAAU;AAAA,IACV,KAAKb,EAAW,SAASK;AAAA,IACzB,MAAML,EAAW;AAAA,IACjB,OAAAoB;AAAA,IACA,QAAAC;AAAA,EAAA,IAIG;AAAA,IACL,UAAU;AAAA,IACV,QAAQpB,IAAiBD,EAAW,MAAMK;AAAA,IAC1C,MAAML,EAAW;AAAA,IACjB,OAAAoB;AAAA,IACA,QAAAC;AAAA,EAAA;AAEJ;"}