@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
package/dist/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./components/tile-button/TileButton.cjs"),i=require("./components/admin-console-header/AdminConsoleHeader.cjs"),s=require("./components/admin-panel/AdminPanel.cjs"),l=require("./components/admin-console-footer/AdminConsoleFooter.cjs"),d=require("./components/admin-panel-footer/AdminPanelFooter.cjs"),c=require("./components/admin-panel-header/AdminPanelHeader.cjs"),f=require("./components/attachment-card/AttachmentCard.cjs"),q=require("./components/button/Button.cjs"),p=require("./components/button/Button.module.scss.cjs"),P=require("./components/card-button/CardButton.cjs"),S=require("./components/card-button/CardButtonGroup.cjs"),M=require("./components/channel-info-msg-header/ChannelInfoMsgHeader.cjs"),T=require("./components/channel-sidebar-item/ChannelSidebarItem.cjs"),v=require("./components/checkbox/Checkbox.cjs"),I=require("./components/chip/Chip.cjs"),g=require("./components/chip/ChipGroup.cjs"),m=require("./components/combobox/Combobox.cjs"),C=require("./components/date-range-picker/DateRangePicker.cjs"),B=require("./components/divider/Divider.cjs"),h=require("./components/dropdown/Dropdown.cjs"),A=require("./components/emoji/Emoji.cjs"),t=require("./components/emoji-button/EmojiButton.cjs"),_=require("./components/emoji-popover/EmojiPopover.cjs"),b=require("./components/empty-state/EmptyState.cjs"),O=require("./components/error-message/ErrorMessage.cjs"),E=require("./components/field-message/FieldMessage.cjs"),G=require("./components/feature-discovery-panel/FeatureDiscoveryPanel.cjs"),N=require("./components/global-banner/GlobalBanner.cjs"),r=require("./components/icon/Icon.cjs"),o=require("./components/icon-button/IconButton.cjs"),w=require("./components/illustration/Illustration.cjs"),R=require("./components/image-preview/ImagePreview.cjs"),x=require("./components/tag/Tag.cjs"),H=require("./components/link-preview/LinkPreview.cjs"),k=require("./components/mention-badge/MentionBadge.cjs"),y=require("./components/menu-group-heading/MenuGroupHeading.cjs"),D=require("./components/menu-item/MenuItem.cjs"),F=require("./components/message-actions/MessageActions.cjs"),U=require("./components/message-header/MessageHeader.cjs"),j=require("./components/reactions-row/ReactionsRow.cjs"),Z=require("./components/reaction-button/ReactionButton.cjs"),J=require("./components/message-separator/MessageSeparator.cjs"),L=require("./components/modal/Modal.cjs"),V=require("./components/modal/ModalOverlay.cjs"),K=require("./components/modal/ModalOverlay.module.scss.cjs"),z=require("./components/modal-footer/ModalFooter.cjs"),Q=require("./components/modal-header/ModalHeader.cjs"),W=require("./components/more-unreads-banner/MoreUnreadsBanner.cjs"),X=require("./components/new-message-banner/NewMessageBanner.cjs"),Y=require("./components/pagination-dots/PaginationDots.cjs"),$=require("./components/permalink-preview/PermalinkPreview.cjs"),ee=require("./components/pinned-saved-indicators/PinnedSavedIndicators.cjs"),e=require("./components/popover-menu/PopoverMenu.cjs"),re=require("./components/popover-notice/PopoverNotice.cjs"),te=require("./components/profile-popover/ProfilePopover.cjs"),oe=require("./components/progress-bar/ProgressBar.cjs"),ae=require("./components/radio/Radio.cjs"),ue=require("./components/right-sidebar-header/RightSidebarHeader.cjs"),ne=require("./components/scrollbar/Scrollbar.cjs"),ie=require("./components/password-input/PasswordInput.cjs"),se=require("./components/search-input/SearchInput.cjs"),le=require("./components/search-tip-banner/SearchTipBanner.cjs"),a=require("./components/shortcut-tag/ShortcutTag.cjs"),de=require("./components/section-notice/SectionNotice.cjs"),ce=require("./components/select/Select.cjs"),fe=require("./components/spinner/Spinner.cjs"),qe=require("./components/status-badge/StatusBadge.cjs"),pe=require("./components/switch/Switch.cjs"),Pe=require("./components/tabs/Tabs.cjs"),Se=require("./components/team-avatar/TeamAvatar.cjs"),Me=require("./components/text-area/TextArea.cjs"),Te=require("./components/text-input/TextInput.cjs"),ve=require("./components/thread-footer/ThreadFooter.cjs"),Ie=require("./components/thread-list-item/ThreadListItem.cjs"),ge=require("./components/toast/Toast.cjs"),me=require("./components/tooltip/Tooltip.cjs"),Ce=require("./components/tour-point/TourPoint.cjs"),Be=require("./components/unread-badge/UnreadBadge.cjs"),he=require("./components/user-avatar/UserAvatar.cjs"),Ae=require("./components/user-avatar-group/UserAvatarGroup.cjs"),_e=require("./hooks/use-controllable.cjs"),be=require("./hooks/use-exit-animation.cjs"),Oe=require("./hooks/use-outside-close.cjs"),u=require("./hooks/use-popover-transition.cjs"),Ee=require("./utils/string.cjs");exports.TileButton=n.default;exports.AdminConsoleHeader=i.default;exports.AdminPanel=s.default;exports.AdminConsoleFooter=l.default;exports.AdminPanelFooter=d.default;exports.AdminPanelHeader=c.default;exports.AttachmentCard=f.default;exports.Button=q.default;exports.btnStyles=p.default;exports.CardButton=P.default;exports.CardButtonGroup=S.default;exports.ChannelInfoMsgHeader=M.default;exports.ChannelSidebarItem=T.default;exports.Checkbox=v.default;exports.Chip=I.default;exports.ChipGroup=g.default;exports.Combobox=m.default;exports.DateRangePicker=C.default;exports.Divider=B.default;exports.Dropdown=h.default;exports.Emoji=A.default;exports.EMOJI_BUTTON_EMOJI_SIZES=t.EMOJI_BUTTON_EMOJI_SIZES;exports.EmojiButton=t.default;exports.EmojiPopover=_.default;exports.EmptyState=b.default;exports.ErrorMessage=O.default;exports.FieldMessage=E.default;exports.FeatureDiscoveryPanel=G.default;exports.GlobalBanner=N.default;exports.Icon=r.default;exports.IconSlotContext=r.IconSlotContext;exports.SVG_SIZE_MAP=r.SVG_SIZE_MAP;exports.useIconSlotContext=r.useIconSlotContext;exports.ICON_BUTTON_ICON_SIZES=o.ICON_BUTTON_ICON_SIZES;exports.IconButton=o.default;exports.Illustration=w.default;exports.ImagePreview=R.default;exports.Tag=x.default;exports.LinkPreview=H.default;exports.MentionBadge=k.default;exports.MenuGroupHeading=y.default;exports.MenuItem=D.default;exports.MessageActions=F.default;exports.MessageHeader=U.default;exports.ReactionsRow=j.default;exports.ReactionButton=Z.default;exports.MessageSeparator=J.default;exports.Modal=L.default;exports.ModalOverlay=V.default;exports.modalOverlayStyles=K.default;exports.ModalFooter=z.default;exports.ModalHeader=Q.default;exports.MoreUnreadsBanner=W.default;exports.NewMessageBanner=X.default;exports.PaginationDots=Y.default;exports.PermalinkPreview=$.default;exports.PinnedSavedIndicators=ee.default;exports.PopoverMenu=e.default;exports.PopoverMenuDivider=e.PopoverMenuDivider;exports.PopoverMenuGroup=e.PopoverMenuGroup;exports.PopoverMenuGroupTitle=e.PopoverMenuGroupTitle;exports.PopoverMenuScroll=e.PopoverMenuScroll;exports.PopoverMenuTitle=e.PopoverMenuTitle;exports.PopoverNotice=re.default;exports.ProfilePopover=te.default;exports.ProgressBar=oe.default;exports.Radio=ae.default;exports.RightSidebarHeader=ue.default;exports.Scrollbar=ne.default;exports.PasswordInput=ie.default;exports.SearchInput=se.default;exports.SearchTipBanner=le.default;exports.ShortcutTag=a.default;exports.ShortcutTagGroup=a.ShortcutTagGroup;exports.SectionNotice=de.default;exports.Select=ce.default;exports.Spinner=fe.default;exports.StatusBadge=qe.default;exports.Switch=pe.default;exports.Tabs=Pe.default;exports.TeamAvatar=Se.default;exports.TextArea=Me.default;exports.TextInput=Te.default;exports.ThreadFooter=ve.default;exports.ThreadListItem=Ie.default;exports.Toast=ge.default;exports.Tooltip=me.default;exports.TourPoint=Ce.default;exports.UnreadBadge=Be.default;exports.UserAvatar=he.default;exports.UserAvatarGroup=Ae.default;exports.useControllable=_e.useControllable;exports.useExitAnimation=be.useExitAnimation;exports.useOutsideClose=Oe.useOutsideClose;exports.POPOVER_TRANSITION_MS=u.POPOVER_TRANSITION_MS;exports.usePopoverTransition=u.usePopoverTransition;exports.toKebab=Ee.toKebab;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./components/tile-button/TileButton.cjs"),i=require("./components/admin-console-header/AdminConsoleHeader.cjs"),s=require("./components/admin-panel/AdminPanel.cjs"),l=require("./components/admin-console-footer/AdminConsoleFooter.cjs"),d=require("./components/admin-panel-footer/AdminPanelFooter.cjs"),c=require("./components/admin-panel-header/AdminPanelHeader.cjs"),f=require("./components/attachment-card/AttachmentCard.cjs"),q=require("./components/button/Button.cjs"),p=require("./components/button/Button.module.scss.cjs"),P=require("./components/card-button/CardButton.cjs"),S=require("./components/card-button/CardButtonGroup.cjs"),M=require("./components/channel-info-msg-header/ChannelInfoMsgHeader.cjs"),T=require("./components/channel-sidebar-item/ChannelSidebarItem.cjs"),v=require("./components/checkbox/Checkbox.cjs"),I=require("./components/chip/Chip.cjs"),g=require("./components/chip/ChipGroup.cjs"),m=require("./components/combobox/Combobox.cjs"),C=require("./components/date-range-picker/DateRangePicker.cjs"),B=require("./components/divider/Divider.cjs"),h=require("./components/dropdown/Dropdown.cjs"),A=require("./components/emoji/Emoji.cjs"),t=require("./components/emoji-button/EmojiButton.cjs"),_=require("./components/emoji-popover/EmojiPopover.cjs"),b=require("./components/empty-state/EmptyState.cjs"),O=require("./components/error-message/ErrorMessage.cjs"),E=require("./components/field-message/FieldMessage.cjs"),G=require("./components/feature-discovery-panel/FeatureDiscoveryPanel.cjs"),N=require("./components/global-banner/GlobalBanner.cjs"),r=require("./components/icon/Icon.cjs"),o=require("./components/icon-button/IconButton.cjs"),w=require("./components/illustration/Illustration.cjs"),R=require("./components/image-preview/ImagePreview.cjs"),x=require("./components/tag/Tag.cjs"),H=require("./components/link-preview/LinkPreview.cjs"),k=require("./components/mention-badge/MentionBadge.cjs"),y=require("./components/menu-group-heading/MenuGroupHeading.cjs"),D=require("./components/menu-item/MenuItem.cjs"),F=require("./components/message-actions/MessageActions.cjs"),U=require("./components/message-header/MessageHeader.cjs"),j=require("./components/reactions-row/ReactionsRow.cjs"),Z=require("./components/reaction-button/ReactionButton.cjs"),J=require("./components/message-separator/MessageSeparator.cjs"),L=require("./components/modal/Modal.cjs"),V=require("./components/modal/ModalOverlay.cjs"),K=require("./components/modal/ModalOverlay.module.scss.cjs"),z=require("./components/modal-footer/ModalFooter.cjs"),Q=require("./components/modal-header/ModalHeader.cjs"),W=require("./components/more-unreads-banner/MoreUnreadsBanner.cjs"),X=require("./components/new-message-banner/NewMessageBanner.cjs"),Y=require("./components/pagination-dots/PaginationDots.cjs"),$=require("./components/permalink-preview/PermalinkPreview.cjs"),ee=require("./components/pinned-saved-indicators/PinnedSavedIndicators.cjs"),e=require("./components/popover-menu/PopoverMenu.cjs"),re=require("./components/popover-notice/PopoverNotice.cjs"),te=require("./components/profile-popover/ProfilePopover.cjs"),oe=require("./components/progress-bar/ProgressBar.cjs"),ue=require("./components/radio/Radio.cjs"),ae=require("./components/right-sidebar-header/RightSidebarHeader.cjs"),ne=require("./components/scrollbar/Scrollbar.cjs"),ie=require("./components/password-input/PasswordInput.cjs"),se=require("./components/search-input/SearchInput.cjs"),le=require("./components/search-tip-banner/SearchTipBanner.cjs"),u=require("./components/shortcut-tag/ShortcutTag.cjs"),de=require("./components/section-notice/SectionNotice.cjs"),ce=require("./components/segmented-control/SegmentedControl.cjs"),fe=require("./components/select/Select.cjs"),qe=require("./components/spinner/Spinner.cjs"),pe=require("./components/status-badge/StatusBadge.cjs"),Pe=require("./components/switch/Switch.cjs"),Se=require("./components/tabs/Tabs.cjs"),Me=require("./components/team-avatar/TeamAvatar.cjs"),Te=require("./components/text-area/TextArea.cjs"),ve=require("./components/text-input/TextInput.cjs"),Ie=require("./components/thread-footer/ThreadFooter.cjs"),ge=require("./components/thread-list-item/ThreadListItem.cjs"),me=require("./components/toast/Toast.cjs"),Ce=require("./components/tooltip/Tooltip.cjs"),Be=require("./components/tour-point/TourPoint.cjs"),he=require("./components/unread-badge/UnreadBadge.cjs"),Ae=require("./components/user-avatar/UserAvatar.cjs"),_e=require("./components/user-avatar-group/UserAvatarGroup.cjs"),be=require("./hooks/use-controllable.cjs"),Oe=require("./hooks/use-exit-animation.cjs"),Ee=require("./hooks/use-outside-close.cjs"),a=require("./hooks/use-popover-transition.cjs"),Ge=require("./utils/string.cjs");exports.TileButton=n.default;exports.AdminConsoleHeader=i.default;exports.AdminPanel=s.default;exports.AdminConsoleFooter=l.default;exports.AdminPanelFooter=d.default;exports.AdminPanelHeader=c.default;exports.AttachmentCard=f.default;exports.Button=q.default;exports.btnStyles=p.default;exports.CardButton=P.default;exports.CardButtonGroup=S.default;exports.ChannelInfoMsgHeader=M.default;exports.ChannelSidebarItem=T.default;exports.Checkbox=v.default;exports.Chip=I.default;exports.ChipGroup=g.default;exports.Combobox=m.default;exports.DateRangePicker=C.default;exports.Divider=B.default;exports.Dropdown=h.default;exports.Emoji=A.default;exports.EMOJI_BUTTON_EMOJI_SIZES=t.EMOJI_BUTTON_EMOJI_SIZES;exports.EmojiButton=t.default;exports.EmojiPopover=_.default;exports.EmptyState=b.default;exports.ErrorMessage=O.default;exports.FieldMessage=E.default;exports.FeatureDiscoveryPanel=G.default;exports.GlobalBanner=N.default;exports.Icon=r.default;exports.IconSlotContext=r.IconSlotContext;exports.SVG_SIZE_MAP=r.SVG_SIZE_MAP;exports.useIconSlotContext=r.useIconSlotContext;exports.ICON_BUTTON_ICON_SIZES=o.ICON_BUTTON_ICON_SIZES;exports.IconButton=o.default;exports.Illustration=w.default;exports.ImagePreview=R.default;exports.Tag=x.default;exports.LinkPreview=H.default;exports.MentionBadge=k.default;exports.MenuGroupHeading=y.default;exports.MenuItem=D.default;exports.MessageActions=F.default;exports.MessageHeader=U.default;exports.ReactionsRow=j.default;exports.ReactionButton=Z.default;exports.MessageSeparator=J.default;exports.Modal=L.default;exports.ModalOverlay=V.default;exports.modalOverlayStyles=K.default;exports.ModalFooter=z.default;exports.ModalHeader=Q.default;exports.MoreUnreadsBanner=W.default;exports.NewMessageBanner=X.default;exports.PaginationDots=Y.default;exports.PermalinkPreview=$.default;exports.PinnedSavedIndicators=ee.default;exports.PopoverMenu=e.default;exports.PopoverMenuDivider=e.PopoverMenuDivider;exports.PopoverMenuGroup=e.PopoverMenuGroup;exports.PopoverMenuGroupTitle=e.PopoverMenuGroupTitle;exports.PopoverMenuScroll=e.PopoverMenuScroll;exports.PopoverMenuTitle=e.PopoverMenuTitle;exports.PopoverNotice=re.default;exports.ProfilePopover=te.default;exports.ProgressBar=oe.default;exports.Radio=ue.default;exports.RightSidebarHeader=ae.default;exports.Scrollbar=ne.default;exports.PasswordInput=ie.default;exports.SearchInput=se.default;exports.SearchTipBanner=le.default;exports.ShortcutTag=u.default;exports.ShortcutTagGroup=u.ShortcutTagGroup;exports.SectionNotice=de.default;exports.SegmentedControl=ce.default;exports.Select=fe.default;exports.Spinner=qe.default;exports.StatusBadge=pe.default;exports.Switch=Pe.default;exports.Tabs=Se.default;exports.TeamAvatar=Me.default;exports.TextArea=Te.default;exports.TextInput=ve.default;exports.ThreadFooter=Ie.default;exports.ThreadListItem=ge.default;exports.Toast=me.default;exports.Tooltip=Ce.default;exports.TourPoint=Be.default;exports.UnreadBadge=he.default;exports.UserAvatar=Ae.default;exports.UserAvatarGroup=_e.default;exports.useControllable=be.useControllable;exports.useExitAnimation=Oe.useExitAnimation;exports.useOutsideClose=Ee.useOutsideClose;exports.POPOVER_TRANSITION_MS=a.POPOVER_TRANSITION_MS;exports.usePopoverTransition=a.usePopoverTransition;exports.toKebab=Ge.toKebab;
2
2
  //# sourceMappingURL=index.cjs.map
package/dist/index.d.ts CHANGED
@@ -61,6 +61,7 @@ export * from './components/search-input/index';
61
61
  export * from './components/search-tip-banner/index';
62
62
  export * from './components/shortcut-tag/index';
63
63
  export * from './components/section-notice/index';
64
+ export * from './components/segmented-control/index';
64
65
  export * from './components/select/index';
65
66
  export { default as Spinner } from './components/spinner/Spinner';
66
67
  export type * from './components/spinner/Spinner';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -5,11 +5,11 @@ import { default as l } from "./components/admin-console-footer/AdminConsoleFoot
5
5
  import { default as p } from "./components/admin-panel-footer/AdminPanelFooter.js";
6
6
  import { default as x } from "./components/admin-panel-header/AdminPanelHeader.js";
7
7
  import { default as i } from "./components/attachment-card/AttachmentCard.js";
8
- import { default as S } from "./components/button/Button.js";
8
+ import { default as P } from "./components/button/Button.js";
9
9
  import { default as c } from "./components/button/Button.module.scss.js";
10
10
  import { default as T } from "./components/card-button/CardButton.js";
11
11
  import { default as g } from "./components/card-button/CardButtonGroup.js";
12
- import { default as C } from "./components/channel-info-msg-header/ChannelInfoMsgHeader.js";
12
+ import { default as B } from "./components/channel-info-msg-header/ChannelInfoMsgHeader.js";
13
13
  import { default as A } from "./components/channel-sidebar-item/ChannelSidebarItem.js";
14
14
  import { default as E } from "./components/checkbox/Checkbox.js";
15
15
  import { default as _ } from "./components/chip/Chip.js";
@@ -29,11 +29,11 @@ import { default as te } from "./components/global-banner/GlobalBanner.js";
29
29
  import { default as fe, IconSlotContext as se, SVG_SIZE_MAP as de, useIconSlotContext as le } from "./components/icon/Icon.js";
30
30
  import { ICON_BUTTON_ICON_SIZES as pe, default as me } from "./components/icon-button/IconButton.js";
31
31
  import { default as ne } from "./components/illustration/Illustration.js";
32
- import { default as Pe } from "./components/image-preview/ImagePreview.js";
32
+ import { default as Se } from "./components/image-preview/ImagePreview.js";
33
33
  import { default as Me } from "./components/tag/Tag.js";
34
34
  import { default as Ie } from "./components/link-preview/LinkPreview.js";
35
35
  import { default as ve } from "./components/mention-badge/MentionBadge.js";
36
- import { default as Be } from "./components/menu-group-heading/MenuGroupHeading.js";
36
+ import { default as Ce } from "./components/menu-group-heading/MenuGroupHeading.js";
37
37
  import { default as he } from "./components/menu-item/MenuItem.js";
38
38
  import { default as be } from "./components/message-actions/MessageActions.js";
39
39
  import { default as Oe } from "./components/message-header/MessageHeader.js";
@@ -53,36 +53,37 @@ import { default as oo } from "./components/pinned-saved-indicators/PinnedSavedI
53
53
  import { default as to, PopoverMenuDivider as ao, PopoverMenuGroup as fo, PopoverMenuGroupTitle as so, PopoverMenuScroll as lo, PopoverMenuTitle as uo } from "./components/popover-menu/PopoverMenu.js";
54
54
  import { default as mo } from "./components/popover-notice/PopoverNotice.js";
55
55
  import { default as no } from "./components/profile-popover/ProfilePopover.js";
56
- import { default as Po } from "./components/progress-bar/ProgressBar.js";
56
+ import { default as So } from "./components/progress-bar/ProgressBar.js";
57
57
  import { default as Mo } from "./components/radio/Radio.js";
58
58
  import { default as Io } from "./components/right-sidebar-header/RightSidebarHeader.js";
59
59
  import { default as vo } from "./components/scrollbar/Scrollbar.js";
60
- import { default as Bo } from "./components/password-input/PasswordInput.js";
60
+ import { default as Co } from "./components/password-input/PasswordInput.js";
61
61
  import { default as ho } from "./components/search-input/SearchInput.js";
62
62
  import { default as bo } from "./components/search-tip-banner/SearchTipBanner.js";
63
63
  import { default as Oo, ShortcutTagGroup as _o } from "./components/shortcut-tag/ShortcutTag.js";
64
64
  import { default as No } from "./components/section-notice/SectionNotice.js";
65
- import { default as Ro } from "./components/select/Select.js";
66
- import { default as yo } from "./components/spinner/Spinner.js";
67
- import { default as Fo } from "./components/status-badge/StatusBadge.js";
68
- import { default as ko } from "./components/switch/Switch.js";
69
- import { default as Zo } from "./components/tabs/Tabs.js";
70
- import { default as Lo } from "./components/team-avatar/TeamAvatar.js";
71
- import { default as Ko } from "./components/text-area/TextArea.js";
72
- import { default as zo } from "./components/text-input/TextInput.js";
73
- import { default as Wo } from "./components/thread-footer/ThreadFooter.js";
74
- import { default as Yo } from "./components/thread-list-item/ThreadListItem.js";
75
- import { default as er } from "./components/toast/Toast.js";
76
- import { default as rr } from "./components/tooltip/Tooltip.js";
77
- import { default as ar } from "./components/tour-point/TourPoint.js";
78
- import { default as sr } from "./components/unread-badge/UnreadBadge.js";
79
- import { default as lr } from "./components/user-avatar/UserAvatar.js";
80
- import { default as pr } from "./components/user-avatar-group/UserAvatarGroup.js";
81
- import { useControllable as xr } from "./hooks/use-controllable.js";
82
- import { useExitAnimation as ir } from "./hooks/use-exit-animation.js";
83
- import { useOutsideClose as Sr } from "./hooks/use-outside-close.js";
84
- import { POPOVER_TRANSITION_MS as cr, usePopoverTransition as Ir } from "./hooks/use-popover-transition.js";
85
- import { toKebab as vr } from "./utils/string.js";
65
+ import { default as Ro } from "./components/segmented-control/SegmentedControl.js";
66
+ import { default as yo } from "./components/select/Select.js";
67
+ import { default as Fo } from "./components/spinner/Spinner.js";
68
+ import { default as ko } from "./components/status-badge/StatusBadge.js";
69
+ import { default as Zo } from "./components/switch/Switch.js";
70
+ import { default as Lo } from "./components/tabs/Tabs.js";
71
+ import { default as Ko } from "./components/team-avatar/TeamAvatar.js";
72
+ import { default as zo } from "./components/text-area/TextArea.js";
73
+ import { default as Wo } from "./components/text-input/TextInput.js";
74
+ import { default as Yo } from "./components/thread-footer/ThreadFooter.js";
75
+ import { default as er } from "./components/thread-list-item/ThreadListItem.js";
76
+ import { default as rr } from "./components/toast/Toast.js";
77
+ import { default as ar } from "./components/tooltip/Tooltip.js";
78
+ import { default as sr } from "./components/tour-point/TourPoint.js";
79
+ import { default as lr } from "./components/unread-badge/UnreadBadge.js";
80
+ import { default as pr } from "./components/user-avatar/UserAvatar.js";
81
+ import { default as xr } from "./components/user-avatar-group/UserAvatarGroup.js";
82
+ import { useControllable as ir } from "./hooks/use-controllable.js";
83
+ import { useExitAnimation as Pr } from "./hooks/use-exit-animation.js";
84
+ import { useOutsideClose as cr } from "./hooks/use-outside-close.js";
85
+ import { POPOVER_TRANSITION_MS as Tr, usePopoverTransition as vr } from "./hooks/use-popover-transition.js";
86
+ import { toKebab as Cr } from "./utils/string.js";
86
87
  export {
87
88
  l as AdminConsoleFooter,
88
89
  a as AdminConsoleHeader,
@@ -90,10 +91,10 @@ export {
90
91
  p as AdminPanelFooter,
91
92
  x as AdminPanelHeader,
92
93
  i as AttachmentCard,
93
- S as Button,
94
+ P as Button,
94
95
  T as CardButton,
95
96
  g as CardButtonGroup,
96
- C as ChannelInfoMsgHeader,
97
+ B as ChannelInfoMsgHeader,
97
98
  A as ChannelSidebarItem,
98
99
  E as Checkbox,
99
100
  _ as Chip,
@@ -116,10 +117,10 @@ export {
116
117
  me as IconButton,
117
118
  se as IconSlotContext,
118
119
  ne as Illustration,
119
- Pe as ImagePreview,
120
+ Se as ImagePreview,
120
121
  Ie as LinkPreview,
121
122
  ve as MentionBadge,
122
- Be as MenuGroupHeading,
123
+ Ce as MenuGroupHeading,
123
124
  he as MenuItem,
124
125
  be as MessageActions,
125
126
  Oe as MessageHeader,
@@ -130,9 +131,9 @@ export {
130
131
  Ue as ModalOverlay,
131
132
  qe as MoreUnreadsBanner,
132
133
  Qe as NewMessageBanner,
133
- cr as POPOVER_TRANSITION_MS,
134
+ Tr as POPOVER_TRANSITION_MS,
134
135
  Xe as PaginationDots,
135
- Bo as PasswordInput,
136
+ Co as PasswordInput,
136
137
  $e as PermalinkPreview,
137
138
  oo as PinnedSavedIndicators,
138
139
  to as PopoverMenu,
@@ -143,7 +144,7 @@ export {
143
144
  uo as PopoverMenuTitle,
144
145
  mo as PopoverNotice,
145
146
  no as ProfilePopover,
146
- Po as ProgressBar,
147
+ So as ProgressBar,
147
148
  Mo as Radio,
148
149
  we as ReactionButton,
149
150
  Ge as ReactionsRow,
@@ -153,33 +154,34 @@ export {
153
154
  ho as SearchInput,
154
155
  bo as SearchTipBanner,
155
156
  No as SectionNotice,
156
- Ro as Select,
157
+ Ro as SegmentedControl,
158
+ yo as Select,
157
159
  Oo as ShortcutTag,
158
160
  _o as ShortcutTagGroup,
159
- yo as Spinner,
160
- Fo as StatusBadge,
161
- ko as Switch,
162
- Zo as Tabs,
161
+ Fo as Spinner,
162
+ ko as StatusBadge,
163
+ Zo as Switch,
164
+ Lo as Tabs,
163
165
  Me as Tag,
164
- Lo as TeamAvatar,
165
- Ko as TextArea,
166
- zo as TextInput,
167
- Wo as ThreadFooter,
168
- Yo as ThreadListItem,
166
+ Ko as TeamAvatar,
167
+ zo as TextArea,
168
+ Wo as TextInput,
169
+ Yo as ThreadFooter,
170
+ er as ThreadListItem,
169
171
  r as TileButton,
170
- er as Toast,
171
- rr as Tooltip,
172
- ar as TourPoint,
173
- sr as UnreadBadge,
174
- lr as UserAvatar,
175
- pr as UserAvatarGroup,
172
+ rr as Toast,
173
+ ar as Tooltip,
174
+ sr as TourPoint,
175
+ lr as UnreadBadge,
176
+ pr as UserAvatar,
177
+ xr as UserAvatarGroup,
176
178
  c as btnStyles,
177
179
  je as modalOverlayStyles,
178
- vr as toKebab,
179
- xr as useControllable,
180
- ir as useExitAnimation,
180
+ Cr as toKebab,
181
+ ir as useControllable,
182
+ Pr as useExitAnimation,
181
183
  le as useIconSlotContext,
182
- Sr as useOutsideClose,
183
- Ir as usePopoverTransition
184
+ cr as useOutsideClose,
185
+ vr as usePopoverTransition
184
186
  };
185
187
  //# 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,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=4,f=48,h=120,u=1e3;function _(t,n,e){var g,H;const i=e.gap??a,o=e.viewportMargin??f,l=e.minHeight??h,p=Math.max(e.preferredHeight,0),s=((g=e.bounds)==null?void 0:g.top)??0,c=((H=e.bounds)==null?void 0:H.bottom)??n,r=Math.max(0,c-t.bottom-i-o),P=Math.max(0,t.top-s-i-o),d=r<p&&P>r?"above":"below",b=d==="below"?r:P,m=e.maxHeightCap!=null?Math.min(e.maxHeightCap,b):b;return{placement:d,maxHeight:Math.max(l,m)}}function A(t){const n=t.getBoundingClientRect(),e=n.top+t.clientTop,i=e+t.clientHeight;return{bounds:{top:e,bottom:i},anchorInContainer:o=>({left:o.left-n.left-t.clientLeft+t.scrollLeft,top:o.top-n.top-t.clientTop+t.scrollTop,bottom:o.bottom-n.top-t.clientTop+t.scrollTop,width:o.width}),clientHeight:t.clientHeight,scrollTop:t.scrollTop}}function O(t,n,e){const i=e.gap??a,o=e.width??t.width,l=e.zIndex??u,p=e.containerFrame;if(p){const c=p.anchorInContainer(t);if(n==="below")return{position:"absolute",top:c.bottom+i,left:c.left,width:o,zIndex:l};const r=c.top-p.scrollTop;return{position:"absolute",bottom:p.clientHeight-r+i,left:c.left,width:o,zIndex:l}}const s=e.viewportHeight??window.innerHeight;return n==="below"?{position:"fixed",top:t.bottom+i,left:t.left,width:o,zIndex:l}:{position:"fixed",bottom:s-t.top+i,left:t.left,width:o,zIndex:l}}exports.ANCHORED_POPUP_GAP=a;exports.ANCHORED_POPUP_MIN_HEIGHT=h;exports.ANCHORED_POPUP_VIEWPORT_MARGIN=f;exports.ANCHORED_POPUP_Z_INDEX=u;exports.computeAnchoredPopupFixedStyle=O;exports.computeAnchoredPopupPlacement=_;exports.getAnchoredPopupContainerFrame=A;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=4,f=48,h=120,u="var(--z-menu, 1100)";function _(t,n,e){var g,H;const i=e.gap??s,o=e.viewportMargin??f,l=e.minHeight??h,p=Math.max(e.preferredHeight,0),a=((g=e.bounds)==null?void 0:g.top)??0,c=((H=e.bounds)==null?void 0:H.bottom)??n,r=Math.max(0,c-t.bottom-i-o),P=Math.max(0,t.top-a-i-o),d=r<p&&P>r?"above":"below",b=d==="below"?r:P,m=e.maxHeightCap!=null?Math.min(e.maxHeightCap,b):b;return{placement:d,maxHeight:Math.max(l,m)}}function A(t){const n=t.getBoundingClientRect(),e=n.top+t.clientTop,i=e+t.clientHeight;return{bounds:{top:e,bottom:i},anchorInContainer:o=>({left:o.left-n.left-t.clientLeft+t.scrollLeft,top:o.top-n.top-t.clientTop+t.scrollTop,bottom:o.bottom-n.top-t.clientTop+t.scrollTop,width:o.width}),clientHeight:t.clientHeight,scrollTop:t.scrollTop}}function O(t,n,e){const i=e.gap??s,o=e.width??t.width,l=e.zIndex??u,p=e.containerFrame;if(p){const c=p.anchorInContainer(t);if(n==="below")return{position:"absolute",top:c.bottom+i,left:c.left,width:o,zIndex:l};const r=c.top-p.scrollTop;return{position:"absolute",bottom:p.clientHeight-r+i,left:c.left,width:o,zIndex:l}}const a=e.viewportHeight??window.innerHeight;return n==="below"?{position:"fixed",top:t.bottom+i,left:t.left,width:o,zIndex:l}:{position:"fixed",bottom:a-t.top+i,left:t.left,width:o,zIndex:l}}exports.ANCHORED_POPUP_GAP=s;exports.ANCHORED_POPUP_MIN_HEIGHT=h;exports.ANCHORED_POPUP_VIEWPORT_MARGIN=f;exports.ANCHORED_POPUP_Z_INDEX=u;exports.computeAnchoredPopupFixedStyle=O;exports.computeAnchoredPopupPlacement=_;exports.getAnchoredPopupContainerFrame=A;
2
2
  //# sourceMappingURL=anchoredPopupPlacement.cjs.map
@@ -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(\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
+ {"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/**\n * Default stacking for portaled menus: the `--z-menu` layer, which sits above\n * modals (`--z-modal`). The fallback keeps it working when tokens aren't loaded.\n * Hosts can override per use via `zIndex` or by redefining the token.\n */\nexport const ANCHORED_POPUP_Z_INDEX = 'var(--z-menu, 1100)';\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 | string;\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 | string;\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,IAM5BC,EAAyB,sBAyB/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"}
@@ -2,8 +2,12 @@ export type PopupPlacement = 'above' | 'below';
2
2
  export declare const ANCHORED_POPUP_GAP = 4;
3
3
  export declare const ANCHORED_POPUP_VIEWPORT_MARGIN = 48;
4
4
  export declare const ANCHORED_POPUP_MIN_HEIGHT = 120;
5
- /** Default stacking above typical product chrome; hosts can override via zIndex. */
6
- export declare const ANCHORED_POPUP_Z_INDEX = 1000;
5
+ /**
6
+ * Default stacking for portaled menus: the `--z-menu` layer, which sits above
7
+ * modals (`--z-modal`). The fallback keeps it working when tokens aren't loaded.
8
+ * Hosts can override per use via `zIndex` or by redefining the token.
9
+ */
10
+ export declare const ANCHORED_POPUP_Z_INDEX = "var(--z-menu, 1100)";
7
11
  export interface AnchoredPopupPlacementOptions {
8
12
  /** Gap between trigger and popup. Default: 4. */
9
13
  gap?: number;
@@ -35,7 +39,7 @@ export interface AnchoredPopupFixedStyle {
35
39
  bottom?: number;
36
40
  left: number;
37
41
  width: number;
38
- zIndex: number;
42
+ zIndex: number | string;
39
43
  }
40
44
  export type AnchoredPopupBounds = Pick<DOMRect, 'top' | 'bottom' | 'left' | 'width' | 'height'>;
41
45
  /** Mount element metrics for portaled absolute positioning. */
@@ -67,7 +71,7 @@ export declare function getAnchoredPopupContainerFrame(mount: HTMLElement): Anch
67
71
  */
68
72
  export declare function computeAnchoredPopupFixedStyle(anchorRect: Pick<DOMRect, 'top' | 'bottom' | 'left' | 'width'>, placement: PopupPlacement, options: {
69
73
  gap?: number;
70
- zIndex?: number;
74
+ zIndex?: number | string;
71
75
  /** Override width (defaults to trigger width). */
72
76
  width?: number;
73
77
  viewportHeight?: number;
@@ -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,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"}
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;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,wBAAwB,CAAC;AAE5D,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,GAAG,MAAM,CAAC;CACzB;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,GAAG,MAAM,CAAC;IACzB,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,2BAA2B,CAAC;CAC9C,GACA,uBAAuB,CA8CzB"}
@@ -1,19 +1,19 @@
1
- const f = 4, g = 48, h = 120, O = 1e3;
2
- function A(t, n, e) {
3
- var H, d;
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(
1
+ const h = 4, _ = 48, m = 120, g = "var(--z-menu, 1100)";
2
+ function O(t, n, e) {
3
+ var d, H;
4
+ const i = e.gap ?? 4, o = e.viewportMargin ?? 48, l = e.minHeight ?? 120, p = Math.max(e.preferredHeight, 0), s = ((d = e.bounds) == null ? void 0 : d.top) ?? 0, c = ((H = e.bounds) == null ? void 0 : H.bottom) ?? n, r = Math.max(
5
5
  0,
6
6
  c - t.bottom - i - o
7
- ), P = Math.max(
7
+ ), a = Math.max(
8
8
  0,
9
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;
10
+ ), P = r < p && a > r ? "above" : "below", b = P === "below" ? r : a, f = e.maxHeightCap != null ? Math.min(e.maxHeightCap, b) : b;
11
11
  return {
12
- placement: a,
13
- maxHeight: Math.max(l, _)
12
+ placement: P,
13
+ maxHeight: Math.max(l, f)
14
14
  };
15
15
  }
16
- function m(t) {
16
+ function A(t) {
17
17
  const n = t.getBoundingClientRect(), e = n.top + t.clientTop, i = e + t.clientHeight;
18
18
  return {
19
19
  bounds: { top: e, bottom: i },
@@ -27,8 +27,8 @@ function m(t) {
27
27
  scrollTop: t.scrollTop
28
28
  };
29
29
  }
30
- function w(t, n, e) {
31
- const i = e.gap ?? 4, o = e.width ?? t.width, l = e.zIndex ?? 1e3, p = e.containerFrame;
30
+ function u(t, n, e) {
31
+ const i = e.gap ?? 4, o = e.width ?? t.width, l = e.zIndex ?? g, p = e.containerFrame;
32
32
  if (p) {
33
33
  const c = p.anchorInContainer(t);
34
34
  if (n === "below")
@@ -64,12 +64,12 @@ function w(t, n, e) {
64
64
  };
65
65
  }
66
66
  export {
67
- f as ANCHORED_POPUP_GAP,
68
- h as ANCHORED_POPUP_MIN_HEIGHT,
69
- g as ANCHORED_POPUP_VIEWPORT_MARGIN,
70
- O as ANCHORED_POPUP_Z_INDEX,
71
- w as computeAnchoredPopupFixedStyle,
72
- A as computeAnchoredPopupPlacement,
73
- m as getAnchoredPopupContainerFrame
67
+ h as ANCHORED_POPUP_GAP,
68
+ m as ANCHORED_POPUP_MIN_HEIGHT,
69
+ _ as ANCHORED_POPUP_VIEWPORT_MARGIN,
70
+ g as ANCHORED_POPUP_Z_INDEX,
71
+ u as computeAnchoredPopupFixedStyle,
72
+ O as computeAnchoredPopupPlacement,
73
+ A as getAnchoredPopupContainerFrame
74
74
  };
75
75
  //# sourceMappingURL=anchoredPopupPlacement.js.map
@@ -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(\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;"}
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/**\n * Default stacking for portaled menus: the `--z-menu` layer, which sits above\n * modals (`--z-modal`). The fallback keeps it working when tokens aren't loaded.\n * Hosts can override per use via `zIndex` or by redefining the token.\n */\nexport const ANCHORED_POPUP_Z_INDEX = 'var(--z-menu, 1100)';\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 | string;\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 | string;\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,KAM5BC,IAAyB;AAyB/B,SAASC,EACdC,GACAC,GACAC,GAI8B;AAxCzB,MAAAC,GAAAC;AAyCL,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,UAAUJ,GAC3BwB,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;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mattermost/compass-ui",
3
- "version": "0.1.0-alpha.27",
3
+ "version": "0.1.0-alpha.29",
4
4
  "description": "Compass design system UI components for Mattermost products",
5
5
  "repository": {
6
6
  "type": "git",
@@ -276,6 +276,9 @@
276
276
  "components/section-notice": [
277
277
  "./dist/components/section-notice/index.d.ts"
278
278
  ],
279
+ "components/segmented-control": [
280
+ "./dist/components/segmented-control/index.d.ts"
281
+ ],
279
282
  "components/select": [
280
283
  "./dist/components/select/index.d.ts"
281
284
  ],