@mattermost/compass-ui 0.1.0-alpha.6 → 0.1.0-alpha.8

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 (268) hide show
  1. package/dist/components/action-button/ActionButton.cjs.map +1 -1
  2. package/dist/components/action-button/ActionButton.d.ts +1 -0
  3. package/dist/components/action-button/ActionButton.d.ts.map +1 -1
  4. package/dist/components/action-button/ActionButton.js.map +1 -1
  5. package/dist/components/admin-panel/AdminPanel.cjs.map +1 -1
  6. package/dist/components/admin-panel/AdminPanel.d.ts +1 -0
  7. package/dist/components/admin-panel/AdminPanel.d.ts.map +1 -1
  8. package/dist/components/admin-panel/AdminPanel.js.map +1 -1
  9. package/dist/components/admin-panel-header/AdminPanelHeader.cjs.map +1 -1
  10. package/dist/components/admin-panel-header/AdminPanelHeader.d.ts +1 -0
  11. package/dist/components/admin-panel-header/AdminPanelHeader.d.ts.map +1 -1
  12. package/dist/components/admin-panel-header/AdminPanelHeader.js.map +1 -1
  13. package/dist/components/button/Button.cjs +1 -1
  14. package/dist/components/button/Button.cjs.map +1 -1
  15. package/dist/components/button/Button.d.ts +7 -5
  16. package/dist/components/button/Button.d.ts.map +1 -1
  17. package/dist/components/button/Button.js +29 -27
  18. package/dist/components/button/Button.js.map +1 -1
  19. package/dist/components/button/Button.module.css +1 -1
  20. package/dist/components/button/Button.module.scss.cjs +1 -1
  21. package/dist/components/button/Button.module.scss.js +13 -12
  22. package/dist/components/button/Button.module.scss.js.map +1 -1
  23. package/dist/components/card-button/CardButton.cjs +2 -0
  24. package/dist/components/card-button/CardButton.cjs.map +1 -0
  25. package/dist/components/card-button/CardButton.d.ts +20 -0
  26. package/dist/components/card-button/CardButton.d.ts.map +1 -0
  27. package/dist/components/card-button/CardButton.js +45 -0
  28. package/dist/components/card-button/CardButton.js.map +1 -0
  29. package/dist/components/card-button/CardButton.module.css +1 -0
  30. package/dist/components/card-button/CardButton.module.scss.cjs +2 -0
  31. package/dist/components/card-button/CardButton.module.scss.cjs.map +1 -0
  32. package/dist/components/card-button/CardButton.module.scss.js +13 -0
  33. package/dist/components/card-button/CardButton.module.scss.js.map +1 -0
  34. package/dist/components/card-button/CardButtonGroup.cjs +2 -0
  35. package/dist/components/card-button/CardButtonGroup.cjs.map +1 -0
  36. package/dist/components/card-button/CardButtonGroup.d.ts +13 -0
  37. package/dist/components/card-button/CardButtonGroup.d.ts.map +1 -0
  38. package/dist/components/card-button/CardButtonGroup.js +85 -0
  39. package/dist/components/card-button/CardButtonGroup.js.map +1 -0
  40. package/dist/components/card-button/CardButtonGroup.module.css +1 -0
  41. package/dist/components/card-button/CardButtonGroup.module.scss.cjs +2 -0
  42. package/dist/components/card-button/CardButtonGroup.module.scss.cjs.map +1 -0
  43. package/dist/components/card-button/CardButtonGroup.module.scss.js +7 -0
  44. package/dist/components/card-button/CardButtonGroup.module.scss.js.map +1 -0
  45. package/dist/components/card-button/index.cjs +2 -0
  46. package/dist/components/card-button/index.d.ts +5 -0
  47. package/dist/components/card-button/index.d.ts.map +1 -0
  48. package/dist/components/card-button/index.js +7 -0
  49. package/dist/components/card-button/index.js.map +1 -0
  50. package/dist/components/chip/Chip.cjs +1 -1
  51. package/dist/components/chip/Chip.cjs.map +1 -1
  52. package/dist/components/chip/Chip.d.ts +4 -2
  53. package/dist/components/chip/Chip.d.ts.map +1 -1
  54. package/dist/components/chip/Chip.js +66 -66
  55. package/dist/components/chip/Chip.js.map +1 -1
  56. package/dist/components/chip/Chip.module.css +1 -1
  57. package/dist/components/chip/Chip.module.scss.cjs +1 -1
  58. package/dist/components/chip/Chip.module.scss.js +12 -12
  59. package/dist/components/emoji-button/EmojiButton.cjs +2 -0
  60. package/dist/components/emoji-button/EmojiButton.cjs.map +1 -0
  61. package/dist/components/emoji-button/EmojiButton.d.ts +30 -0
  62. package/dist/components/emoji-button/EmojiButton.d.ts.map +1 -0
  63. package/dist/components/emoji-button/EmojiButton.js +35 -0
  64. package/dist/components/emoji-button/EmojiButton.js.map +1 -0
  65. package/dist/components/emoji-button/EmojiButton.module.css +1 -0
  66. package/dist/components/emoji-button/EmojiButton.module.scss.cjs +2 -0
  67. package/dist/components/emoji-button/EmojiButton.module.scss.cjs.map +1 -0
  68. package/dist/components/emoji-button/EmojiButton.module.scss.js +15 -0
  69. package/dist/components/emoji-button/EmojiButton.module.scss.js.map +1 -0
  70. package/dist/components/emoji-button/index.cjs +2 -0
  71. package/dist/components/emoji-button/index.cjs.map +1 -0
  72. package/dist/components/emoji-button/index.d.ts +3 -0
  73. package/dist/components/emoji-button/index.d.ts.map +1 -0
  74. package/dist/components/emoji-button/index.js +6 -0
  75. package/dist/components/emoji-popover/EmojiPopover.cjs +2 -0
  76. package/dist/components/emoji-popover/EmojiPopover.cjs.map +1 -0
  77. package/dist/components/emoji-popover/EmojiPopover.d.ts +34 -0
  78. package/dist/components/emoji-popover/EmojiPopover.d.ts.map +1 -0
  79. package/dist/components/emoji-popover/EmojiPopover.js +244 -0
  80. package/dist/components/emoji-popover/EmojiPopover.js.map +1 -0
  81. package/dist/components/emoji-popover/EmojiPopover.module.css +1 -0
  82. package/dist/components/emoji-popover/EmojiPopover.module.scss.cjs +2 -0
  83. package/dist/components/emoji-popover/EmojiPopover.module.scss.cjs.map +1 -0
  84. package/dist/components/emoji-popover/EmojiPopover.module.scss.js +27 -0
  85. package/dist/components/emoji-popover/EmojiPopover.module.scss.js.map +1 -0
  86. package/dist/components/{message-reactions → emoji-popover}/index.cjs +1 -1
  87. package/dist/components/emoji-popover/index.cjs.map +1 -0
  88. package/dist/components/emoji-popover/index.d.ts +3 -0
  89. package/dist/components/emoji-popover/index.d.ts.map +1 -0
  90. package/dist/components/emoji-popover/index.js +5 -0
  91. package/dist/components/emoji-popover/index.js.map +1 -0
  92. package/dist/components/global-banner/GlobalBanner.cjs.map +1 -1
  93. package/dist/components/global-banner/GlobalBanner.d.ts +1 -1
  94. package/dist/components/global-banner/GlobalBanner.d.ts.map +1 -1
  95. package/dist/components/global-banner/GlobalBanner.js.map +1 -1
  96. package/dist/components/global-header/GlobalHeader.module.css +1 -1
  97. package/dist/components/global-header/GlobalHeader.module.scss.cjs +1 -1
  98. package/dist/components/global-header/GlobalHeader.module.scss.js +16 -16
  99. package/dist/components/icon-button/IconButton.cjs +1 -1
  100. package/dist/components/icon-button/IconButton.cjs.map +1 -1
  101. package/dist/components/icon-button/IconButton.d.ts +3 -1
  102. package/dist/components/icon-button/IconButton.d.ts.map +1 -1
  103. package/dist/components/icon-button/IconButton.js +37 -35
  104. package/dist/components/icon-button/IconButton.js.map +1 -1
  105. package/dist/components/menu-group-heading/MenuGroupHeading.cjs +2 -0
  106. package/dist/components/menu-group-heading/MenuGroupHeading.cjs.map +1 -0
  107. package/dist/components/menu-group-heading/MenuGroupHeading.d.ts +11 -0
  108. package/dist/components/menu-group-heading/MenuGroupHeading.d.ts.map +1 -0
  109. package/dist/components/menu-group-heading/MenuGroupHeading.js +20 -0
  110. package/dist/components/menu-group-heading/MenuGroupHeading.js.map +1 -0
  111. package/dist/components/menu-group-heading/MenuGroupHeading.module.css +1 -0
  112. package/dist/components/menu-group-heading/MenuGroupHeading.module.scss.cjs +2 -0
  113. package/dist/components/menu-group-heading/MenuGroupHeading.module.scss.cjs.map +1 -0
  114. package/dist/components/menu-group-heading/MenuGroupHeading.module.scss.js +8 -0
  115. package/dist/components/menu-group-heading/MenuGroupHeading.module.scss.js.map +1 -0
  116. package/dist/components/menu-group-heading/index.cjs +2 -0
  117. package/dist/components/menu-group-heading/index.cjs.map +1 -0
  118. package/dist/components/menu-group-heading/index.d.ts +3 -0
  119. package/dist/components/menu-group-heading/index.d.ts.map +1 -0
  120. package/dist/components/menu-group-heading/index.js +5 -0
  121. package/dist/components/menu-group-heading/index.js.map +1 -0
  122. package/dist/components/menu-item/MenuItem.cjs.map +1 -1
  123. package/dist/components/menu-item/MenuItem.d.ts +2 -2
  124. package/dist/components/menu-item/MenuItem.d.ts.map +1 -1
  125. package/dist/components/menu-item/MenuItem.js.map +1 -1
  126. package/dist/components/message-separator/MessageSeparator.cjs +1 -1
  127. package/dist/components/message-separator/MessageSeparator.cjs.map +1 -1
  128. package/dist/components/message-separator/MessageSeparator.d.ts +1 -1
  129. package/dist/components/message-separator/MessageSeparator.js +1 -1
  130. package/dist/components/message-separator/MessageSeparator.js.map +1 -1
  131. package/dist/components/modal/Modal.cjs +1 -1
  132. package/dist/components/modal/Modal.cjs.map +1 -1
  133. package/dist/components/modal/Modal.d.ts +43 -11
  134. package/dist/components/modal/Modal.d.ts.map +1 -1
  135. package/dist/components/modal/Modal.js +56 -74
  136. package/dist/components/modal/Modal.js.map +1 -1
  137. package/dist/components/modal/Modal.module.css +1 -1
  138. package/dist/components/modal/Modal.module.scss.cjs +1 -1
  139. package/dist/components/modal/Modal.module.scss.js +12 -25
  140. package/dist/components/modal/Modal.module.scss.js.map +1 -1
  141. package/dist/components/modal/index.d.ts +1 -1
  142. package/dist/components/modal/index.d.ts.map +1 -1
  143. package/dist/components/modal-footer/ModalFooter.cjs +2 -0
  144. package/dist/components/modal-footer/ModalFooter.cjs.map +1 -0
  145. package/dist/components/modal-footer/ModalFooter.d.ts +29 -0
  146. package/dist/components/modal-footer/ModalFooter.d.ts.map +1 -0
  147. package/dist/components/modal-footer/ModalFooter.js +31 -0
  148. package/dist/components/modal-footer/ModalFooter.js.map +1 -0
  149. package/dist/components/modal-footer/ModalFooter.module.css +1 -0
  150. package/dist/components/modal-footer/ModalFooter.module.scss.cjs +2 -0
  151. package/dist/components/modal-footer/ModalFooter.module.scss.cjs.map +1 -0
  152. package/dist/components/modal-footer/ModalFooter.module.scss.js +17 -0
  153. package/dist/components/modal-footer/ModalFooter.module.scss.js.map +1 -0
  154. package/dist/components/modal-footer/index.cjs +2 -0
  155. package/dist/components/modal-footer/index.cjs.map +1 -0
  156. package/dist/components/modal-footer/index.d.ts +3 -0
  157. package/dist/components/modal-footer/index.d.ts.map +1 -0
  158. package/dist/components/modal-footer/index.js +5 -0
  159. package/dist/components/modal-footer/index.js.map +1 -0
  160. package/dist/components/modal-header/ModalHeader.cjs +2 -0
  161. package/dist/components/modal-header/ModalHeader.cjs.map +1 -0
  162. package/dist/components/modal-header/ModalHeader.d.ts +38 -0
  163. package/dist/components/modal-header/ModalHeader.d.ts.map +1 -0
  164. package/dist/components/modal-header/ModalHeader.js +74 -0
  165. package/dist/components/modal-header/ModalHeader.js.map +1 -0
  166. package/dist/components/modal-header/ModalHeader.module.css +1 -0
  167. package/dist/components/modal-header/ModalHeader.module.scss.cjs +2 -0
  168. package/dist/components/modal-header/ModalHeader.module.scss.cjs.map +1 -0
  169. package/dist/components/modal-header/ModalHeader.module.scss.js +19 -0
  170. package/dist/components/modal-header/ModalHeader.module.scss.js.map +1 -0
  171. package/dist/components/modal-header/index.cjs +2 -0
  172. package/dist/components/modal-header/index.cjs.map +1 -0
  173. package/dist/components/modal-header/index.d.ts +3 -0
  174. package/dist/components/modal-header/index.d.ts.map +1 -0
  175. package/dist/components/modal-header/index.js +5 -0
  176. package/dist/components/modal-header/index.js.map +1 -0
  177. package/dist/components/popover-notice/PopoverNotice.cjs.map +1 -1
  178. package/dist/components/popover-notice/PopoverNotice.d.ts +1 -1
  179. package/dist/components/popover-notice/PopoverNotice.d.ts.map +1 -1
  180. package/dist/components/popover-notice/PopoverNotice.js.map +1 -1
  181. package/dist/components/reaction-button/ReactionButton.cjs +2 -0
  182. package/dist/components/reaction-button/ReactionButton.cjs.map +1 -0
  183. package/dist/components/reaction-button/ReactionButton.d.ts +17 -0
  184. package/dist/components/reaction-button/ReactionButton.d.ts.map +1 -0
  185. package/dist/components/reaction-button/ReactionButton.js +42 -0
  186. package/dist/components/reaction-button/ReactionButton.js.map +1 -0
  187. package/dist/components/reaction-button/ReactionButton.module.css +1 -0
  188. package/dist/components/reaction-button/ReactionButton.module.scss.cjs +2 -0
  189. package/dist/components/reaction-button/ReactionButton.module.scss.cjs.map +1 -0
  190. package/dist/components/reaction-button/ReactionButton.module.scss.js +12 -0
  191. package/dist/components/reaction-button/ReactionButton.module.scss.js.map +1 -0
  192. package/dist/components/reaction-button/index.cjs +2 -0
  193. package/dist/components/reaction-button/index.cjs.map +1 -0
  194. package/dist/components/reaction-button/index.d.ts +3 -0
  195. package/dist/components/reaction-button/index.d.ts.map +1 -0
  196. package/dist/components/reaction-button/index.js +5 -0
  197. package/dist/components/reaction-button/index.js.map +1 -0
  198. package/dist/components/reactions-row/ReactionsRow.cjs +2 -0
  199. package/dist/components/reactions-row/ReactionsRow.cjs.map +1 -0
  200. package/dist/components/{message-reactions/MessageReactions.d.ts → reactions-row/ReactionsRow.d.ts} +5 -5
  201. package/dist/components/reactions-row/ReactionsRow.d.ts.map +1 -0
  202. package/dist/components/reactions-row/ReactionsRow.js +71 -0
  203. package/dist/components/reactions-row/ReactionsRow.js.map +1 -0
  204. package/dist/components/reactions-row/ReactionsRow.module.css +1 -0
  205. package/dist/components/reactions-row/ReactionsRow.module.scss.cjs +2 -0
  206. package/dist/components/reactions-row/ReactionsRow.module.scss.cjs.map +1 -0
  207. package/dist/components/reactions-row/ReactionsRow.module.scss.js +14 -0
  208. package/dist/components/reactions-row/ReactionsRow.module.scss.js.map +1 -0
  209. package/dist/components/reactions-row/index.cjs +2 -0
  210. package/dist/components/reactions-row/index.cjs.map +1 -0
  211. package/dist/components/reactions-row/index.d.ts +3 -0
  212. package/dist/components/reactions-row/index.d.ts.map +1 -0
  213. package/dist/components/reactions-row/index.js +5 -0
  214. package/dist/components/reactions-row/index.js.map +1 -0
  215. package/dist/components/right-sidebar-header/RightSidebarHeader.cjs.map +1 -1
  216. package/dist/components/right-sidebar-header/RightSidebarHeader.d.ts +1 -1
  217. package/dist/components/right-sidebar-header/RightSidebarHeader.d.ts.map +1 -1
  218. package/dist/components/right-sidebar-header/RightSidebarHeader.js.map +1 -1
  219. package/dist/components/section-notice/SectionNotice.cjs.map +1 -1
  220. package/dist/components/section-notice/SectionNotice.d.ts +1 -1
  221. package/dist/components/section-notice/SectionNotice.d.ts.map +1 -1
  222. package/dist/components/section-notice/SectionNotice.js.map +1 -1
  223. package/dist/components/spinner/Spinner.cjs +1 -1
  224. package/dist/components/spinner/Spinner.cjs.map +1 -1
  225. package/dist/components/spinner/Spinner.d.ts +1 -1
  226. package/dist/components/spinner/Spinner.d.ts.map +1 -1
  227. package/dist/components/spinner/Spinner.js +17 -17
  228. package/dist/components/spinner/Spinner.js.map +1 -1
  229. package/dist/components/tag/Tag.cjs.map +1 -1
  230. package/dist/components/tag/Tag.d.ts +1 -1
  231. package/dist/components/tag/Tag.d.ts.map +1 -1
  232. package/dist/components/tag/Tag.js.map +1 -1
  233. package/dist/components/text-input/TextInput.cjs.map +1 -1
  234. package/dist/components/text-input/TextInput.d.ts +1 -1
  235. package/dist/components/text-input/TextInput.d.ts.map +1 -1
  236. package/dist/components/text-input/TextInput.js.map +1 -1
  237. package/dist/components/thread-footer/ThreadFooter.module.css +1 -1
  238. package/dist/components/thread-footer/ThreadFooter.module.scss.cjs +1 -1
  239. package/dist/components/thread-footer/ThreadFooter.module.scss.js +19 -19
  240. package/dist/components/tooltip/Tooltip.cjs.map +1 -1
  241. package/dist/components/tooltip/Tooltip.d.ts +1 -1
  242. package/dist/components/tooltip/Tooltip.d.ts.map +1 -1
  243. package/dist/components/tooltip/Tooltip.js.map +1 -1
  244. package/dist/components/tour-point/TourPoint.module.css +1 -1
  245. package/dist/components/tour-point/TourPoint.module.scss.cjs +1 -1
  246. package/dist/components/tour-point/TourPoint.module.scss.js +28 -28
  247. package/dist/index.cjs +1 -1
  248. package/dist/index.css +24 -8
  249. package/dist/index.d.ts +8 -1
  250. package/dist/index.d.ts.map +1 -1
  251. package/dist/index.js +192 -175
  252. package/dist/index.js.map +1 -1
  253. package/package.json +25 -4
  254. package/dist/components/message-reactions/MessageReactions.cjs +0 -2
  255. package/dist/components/message-reactions/MessageReactions.cjs.map +0 -1
  256. package/dist/components/message-reactions/MessageReactions.d.ts.map +0 -1
  257. package/dist/components/message-reactions/MessageReactions.js +0 -85
  258. package/dist/components/message-reactions/MessageReactions.js.map +0 -1
  259. package/dist/components/message-reactions/MessageReactions.module.css +0 -1
  260. package/dist/components/message-reactions/MessageReactions.module.scss.cjs +0 -2
  261. package/dist/components/message-reactions/MessageReactions.module.scss.cjs.map +0 -1
  262. package/dist/components/message-reactions/MessageReactions.module.scss.js +0 -18
  263. package/dist/components/message-reactions/MessageReactions.module.scss.js.map +0 -1
  264. package/dist/components/message-reactions/index.d.ts +0 -3
  265. package/dist/components/message-reactions/index.d.ts.map +0 -1
  266. package/dist/components/message-reactions/index.js +0 -5
  267. /package/dist/components/{message-reactions → card-button}/index.cjs.map +0 -0
  268. /package/dist/components/{message-reactions → emoji-button}/index.js.map +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../../src/components/modal/Modal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAUvC,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AAErD,yIAAyI;AACzI,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,MAAM,CAAC;AAElD,MAAM,WAAW,UAAU;IACzB,2EAA2E;IAC3E,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,0CAA0C;IAC1C,KAAK,EAAE,SAAS,CAAC;IACjB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,6DAA6D;IAC7D,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,gFAAgF;IAChF,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;OAIG;IACH,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,oBAAoB;IACpB,QAAQ,EAAE,SAAS,CAAC;IACpB,4EAA4E;IAC5E,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,gFAAgF;IAChF,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAC5B,IAAc,EACd,KAAK,EACL,QAAQ,EACR,cAAsB,EACtB,MAAM,EACN,OAAO,EACP,aAAoB,EACpB,WAAuB,EACvB,QAAQ,EACR,MAAM,EACN,aAAoB,GACrB,EAAE,UAAU,2CA0EZ"}
1
+ {"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../../src/components/modal/Modal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAItD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAE5E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAInF,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AAErD;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAE3D,YAAY,EAAE,eAAe,EAAE,sBAAsB,EAAE,CAAC;AAExD,MAAM,WAAW,UAAU;IACzB,0EAA0E;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iFAAiF;IACjF,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,2EAA2E;IAC3E,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,oFAAoF;IACpF,KAAK,EAAE,SAAS,CAAC;IACjB,mEAAmE;IACnE,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,sBAAsB,CAAC;IAC3C,wFAAwF;IACxF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,6DAA6D;IAC7D,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,2DAA2D;IAC3D,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,+DAA+D;IAC/D,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB;;;OAGG;IACH,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oBAAoB;IACpB,QAAQ,EAAE,SAAS,CAAC;IACpB,iEAAiE;IACjE,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,+DAA+D;IAC/D,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,oEAAoE;IACpE,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,2DAA2D;IAC3D,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAC5B,SAAc,EACd,KAAK,EACL,IAAc,EACd,KAAK,EACL,QAAQ,EACR,iBAA2B,EAC3B,SAAiB,EACjB,cAAsB,EACtB,MAAM,EACN,OAAO,EACP,aAAoB,EACpB,YAAY,EACZ,WAAuB,EACvB,UAAiB,EACjB,QAAQ,EACR,MAAM,EACN,aAAa,EACb,UAAwB,EACxB,aAAoB,GACrB,EAAE,UAAU,2CAsDZ"}
@@ -1,86 +1,68 @@
1
- import { jsxs as e, jsx as l } from "react/jsx-runtime";
2
- import { useId as v } from "react";
3
- import d from "../icon-button/IconButton.js";
4
- import m from "../icon/Icon.js";
5
- import y from "../scrollbar/Scrollbar.js";
6
- import __j from "@mattermost/compass-icons/components/close.js";const j=__j&&__j.default?__j.default:__j;
7
- import __B from "@mattermost/compass-icons/components/arrow-left.js";const B=__B&&__B.default?__B.default:__B;
8
- import { toKebab as I } from "../../utils/string.js";
9
- import o from "./Modal.module.scss.js";
10
- function L({
11
- size: n = "small",
12
- title: s,
13
- subtitle: a,
14
- showBackButton: t = !1,
15
- onBack: c,
16
- onClose: _,
17
- headerDivider: f = !0,
18
- bodyPadding: h = "default",
19
- children: p,
20
- footer: i,
21
- footerDivider: u = !0
1
+ import { jsxs as z, jsx as o } from "react/jsx-runtime";
2
+ import { useId as B } from "react";
3
+ import C from "../scrollbar/Scrollbar.js";
4
+ import F from "../modal-footer/ModalFooter.js";
5
+ import g from "../modal-header/ModalHeader.js";
6
+ import { toKebab as H } from "../../utils/string.js";
7
+ import l from "./Modal.module.scss.js";
8
+ function E({
9
+ className: d = "",
10
+ style: m,
11
+ size: t = "small",
12
+ title: c,
13
+ subtitle: u,
14
+ subtitlePlacement: b = "below",
15
+ hideTitle: f = !1,
16
+ showBackButton: p = !1,
17
+ onBack: _,
18
+ onClose: y,
19
+ headerDivider: h = !0,
20
+ headerAction: v,
21
+ bodyPadding: r = "default",
22
+ scrollable: j = !0,
23
+ children: I,
24
+ footer: a,
25
+ footerLeading: n,
26
+ footerType: e = "2-actions",
27
+ footerDivider: x = !0
22
28
  }) {
23
- const r = v(), b = o[`modal--size-${I(n)}`], N = h === "menu";
24
- return /* @__PURE__ */ e(
29
+ const i = B(), M = l[`modal--size-${H(t)}`], N = [
30
+ l["modal__body-inner"],
31
+ r === "menu" && l["modal__body-inner--menu"],
32
+ r === "none" && l["modal__body-inner--none"]
33
+ ].filter(Boolean).join(" "), s = /* @__PURE__ */ o("div", { className: N, children: I }), w = a != null || n != null || e === "spacer-small" || e === "spacer-large";
34
+ return /* @__PURE__ */ z(
25
35
  "div",
26
36
  {
27
- className: [o.modal, b].filter(Boolean).join(" "),
37
+ className: [l.modal, M, d].filter(Boolean).join(" "),
38
+ style: m,
28
39
  role: "dialog",
29
40
  "aria-modal": "true",
30
- "aria-labelledby": r,
41
+ "aria-labelledby": i,
31
42
  children: [
32
- /* @__PURE__ */ e(
33
- "div",
43
+ /* @__PURE__ */ o(
44
+ g,
34
45
  {
35
- className: [
36
- o.modal__header,
37
- !f && o["modal__header--no-divider"]
38
- ].filter(Boolean).join(" "),
39
- children: [
40
- /* @__PURE__ */ e("div", { className: o["modal__header-inner"], children: [
41
- t && /* @__PURE__ */ l(
42
- d,
43
- {
44
- "aria-label": "Go back",
45
- icon: /* @__PURE__ */ l(m, { glyph: /* @__PURE__ */ l(B, {}), size: "20" }),
46
- onClick: c
47
- }
48
- ),
49
- /* @__PURE__ */ e("div", { className: o["modal__title-group"], children: [
50
- /* @__PURE__ */ l("h2", { id: r, className: o.modal__title, children: s }),
51
- a && /* @__PURE__ */ l("p", { className: o.modal__subtitle, children: a })
52
- ] })
53
- ] }),
54
- /* @__PURE__ */ l(
55
- d,
56
- {
57
- "aria-label": "Close",
58
- className: o.modal__close,
59
- icon: /* @__PURE__ */ l(m, { glyph: /* @__PURE__ */ l(j, {}), size: "20" }),
60
- onClick: _
61
- }
62
- )
63
- ]
46
+ title: c,
47
+ titleId: i,
48
+ subtitle: u,
49
+ subtitlePlacement: b,
50
+ hideTitle: f,
51
+ showBackButton: p,
52
+ onBack: _,
53
+ onClose: y,
54
+ divider: h,
55
+ headerAction: v
64
56
  }
65
57
  ),
66
- /* @__PURE__ */ l("div", { className: o.modal__body, children: /* @__PURE__ */ l(y, { children: /* @__PURE__ */ l(
67
- "div",
58
+ /* @__PURE__ */ o("div", { className: l.modal__body, children: j ? /* @__PURE__ */ o(C, { children: s }) : s }),
59
+ w && /* @__PURE__ */ o(
60
+ F,
68
61
  {
69
- className: [
70
- o["modal__body-inner"],
71
- N && o["modal__body-inner--menu"]
72
- ].filter(Boolean).join(" "),
73
- children: p
74
- }
75
- ) }) }),
76
- i && /* @__PURE__ */ l(
77
- "div",
78
- {
79
- className: [
80
- o.modal__footer,
81
- !u && o["modal__footer--no-divider"]
82
- ].filter(Boolean).join(" "),
83
- children: i
62
+ type: e,
63
+ divider: x,
64
+ leading: n,
65
+ children: a
84
66
  }
85
67
  )
86
68
  ]
@@ -88,6 +70,6 @@ function L({
88
70
  );
89
71
  }
90
72
  export {
91
- L as default
73
+ E as default
92
74
  };
93
75
  //# sourceMappingURL=Modal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.js","sources":["../../../src/components/modal/Modal.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { useId } from 'react';\nimport IconButton from '@/components/icon-button/IconButton';\nimport Icon from '@/components/icon/Icon';\nimport Scrollbar from '@/components/scrollbar/Scrollbar';\nimport CloseIcon from '@mattermost/compass-icons/components/close';\nimport ArrowLeftIcon from '@mattermost/compass-icons/components/arrow-left';\nimport { toKebab } from '@/utils/string';\nimport styles from './Modal.module.scss';\n\nexport type ModalSize = 'small' | 'medium' | 'large';\n\n/** Body inset. `menu` is for MenuItem lists — 8px vertical / 16px horizontal so row labels align with the 32px header/footer margins. */\nexport type ModalBodyPadding = 'default' | 'menu';\n\nexport interface ModalProps {\n /** Width variant. Figma: Size — Small 600px, Medium 704px, Large 832px. */\n size?: ModalSize;\n /** Modal heading text. Always visible. */\n title: ReactNode;\n /** Optional secondary line below the title. */\n subtitle?: ReactNode;\n /** When true, shows a back-arrow button before the title. */\n showBackButton?: boolean;\n /** Called when the back button is clicked. */\n onBack?: () => void;\n /** Called when the × close button is clicked. */\n onClose?: () => void;\n /** Show divider between header and body. Figma: Divider = On. Default: true. */\n headerDivider?: boolean;\n /**\n * Body inset. Default is 32px horizontal / 28px vertical. Use `menu` for\n * MenuItem lists (8px vertical / 16px horizontal so row labels align with\n * the 32px header/footer margins).\n */\n bodyPadding?: ModalBodyPadding;\n /** Body content. */\n children: ReactNode;\n /** Footer slot — typically a group of Buttons, right-aligned by default. */\n footer?: ReactNode;\n /** Show divider between body and footer. Figma: Divider = On. Default: true. */\n footerDivider?: boolean;\n}\n\nexport default function Modal({\n size = 'small',\n title,\n subtitle,\n showBackButton = false,\n onBack,\n onClose,\n headerDivider = true,\n bodyPadding = 'default',\n children,\n footer,\n footerDivider = true,\n}: ModalProps) {\n const titleId = useId();\n const sizeClass = styles[`modal--size-${toKebab(size)}`];\n const menuBody = bodyPadding === 'menu';\n\n return (\n <div\n className={[styles.modal, sizeClass].filter(Boolean).join(' ')}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby={titleId}\n >\n <div\n className={[\n styles['modal__header'],\n !headerDivider && styles['modal__header--no-divider'],\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <div className={styles['modal__header-inner']}>\n {showBackButton && (\n <IconButton\n aria-label=\"Go back\"\n icon={<Icon glyph={<ArrowLeftIcon />} size=\"20\" />}\n onClick={onBack}\n />\n )}\n <div className={styles['modal__title-group']}>\n <h2 id={titleId} className={styles['modal__title']}>\n {title}\n </h2>\n {subtitle && (\n <p className={styles['modal__subtitle']}>{subtitle}</p>\n )}\n </div>\n </div>\n <IconButton\n aria-label=\"Close\"\n className={styles['modal__close']}\n icon={<Icon glyph={<CloseIcon />} size=\"20\" />}\n onClick={onClose}\n />\n </div>\n\n <div className={styles['modal__body']}>\n <Scrollbar>\n <div\n className={[\n styles['modal__body-inner'],\n menuBody && styles['modal__body-inner--menu'],\n ]\n .filter(Boolean)\n .join(' ')}\n >\n {children}\n </div>\n </Scrollbar>\n </div>\n\n {footer && (\n <div\n className={[\n styles['modal__footer'],\n !footerDivider && styles['modal__footer--no-divider'],\n ]\n .filter(Boolean)\n .join(' ')}\n >\n {footer}\n </div>\n )}\n </div>\n );\n}\n"],"names":["Modal","size","title","subtitle","showBackButton","onBack","onClose","headerDivider","bodyPadding","children","footer","footerDivider","titleId","useId","sizeClass","styles","toKebab","menuBody","jsxs","jsx","IconButton","Icon","ArrowLeftIcon","CloseIcon","Scrollbar"],"mappings":";;;;;;;;;AA4CA,SAAwBA,EAAM;AAAA,EAC5B,MAAAC,IAAO;AAAA,EACP,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,gBAAAC,IAAiB;AAAA,EACjB,QAAAC;AAAA,EACA,SAAAC;AAAA,EACA,eAAAC,IAAgB;AAAA,EAChB,aAAAC,IAAc;AAAA,EACd,UAAAC;AAAA,EACA,QAAAC;AAAA,EACA,eAAAC,IAAgB;AAClB,GAAe;AACb,QAAMC,IAAUC,EAAA,GACVC,IAAYC,EAAO,eAAeC,EAAQf,CAAI,CAAC,EAAE,GACjDgB,IAAWT,MAAgB;AAEjC,SACE,gBAAAU;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW,CAACH,EAAO,OAAOD,CAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAAA,MAC7D,MAAK;AAAA,MACL,cAAW;AAAA,MACX,mBAAiBF;AAAA,MAEjB,UAAA;AAAA,QAAA,gBAAAM;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAW;AAAA,cACTH,EAAO;AAAA,cACP,CAACR,KAAiBQ,EAAO,2BAA2B;AAAA,YAAA,EAEnD,OAAO,OAAO,EACd,KAAK,GAAG;AAAA,YAEX,UAAA;AAAA,cAAA,gBAAAG,EAAC,OAAA,EAAI,WAAWH,EAAO,qBAAqB,GACzC,UAAA;AAAA,gBAAAX,KACC,gBAAAe;AAAA,kBAACC;AAAA,kBAAA;AAAA,oBACC,cAAW;AAAA,oBACX,wBAAOC,GAAA,EAAK,yBAAQC,GAAA,EAAc,GAAI,MAAK,MAAK;AAAA,oBAChD,SAASjB;AAAA,kBAAA;AAAA,gBAAA;AAAA,gBAGb,gBAAAa,EAAC,OAAA,EAAI,WAAWH,EAAO,oBAAoB,GACzC,UAAA;AAAA,kBAAA,gBAAAI,EAAC,QAAG,IAAIP,GAAS,WAAWG,EAAO,cAChC,UAAAb,GACH;AAAA,kBACCC,KACC,gBAAAgB,EAAC,KAAA,EAAE,WAAWJ,EAAO,iBAAqB,UAAAZ,EAAA,CAAS;AAAA,gBAAA,EAAA,CAEvD;AAAA,cAAA,GACF;AAAA,cACA,gBAAAgB;AAAA,gBAACC;AAAA,gBAAA;AAAA,kBACC,cAAW;AAAA,kBACX,WAAWL,EAAO;AAAA,kBAClB,wBAAOM,GAAA,EAAK,yBAAQE,GAAA,EAAU,GAAI,MAAK,MAAK;AAAA,kBAC5C,SAASjB;AAAA,gBAAA;AAAA,cAAA;AAAA,YACX;AAAA,UAAA;AAAA,QAAA;AAAA,0BAGD,OAAA,EAAI,WAAWS,EAAO,aACrB,4BAACS,GAAA,EACC,UAAA,gBAAAL;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAW;AAAA,cACTJ,EAAO,mBAAmB;AAAA,cAC1BE,KAAYF,EAAO,yBAAyB;AAAA,YAAA,EAE3C,OAAO,OAAO,EACd,KAAK,GAAG;AAAA,YAEV,UAAAN;AAAA,UAAA;AAAA,QAAA,GAEL,EAAA,CACF;AAAA,QAECC,KACC,gBAAAS;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAW;AAAA,cACTJ,EAAO;AAAA,cACP,CAACJ,KAAiBI,EAAO,2BAA2B;AAAA,YAAA,EAEnD,OAAO,OAAO,EACd,KAAK,GAAG;AAAA,YAEV,UAAAL;AAAA,UAAA;AAAA,QAAA;AAAA,MACH;AAAA,IAAA;AAAA,EAAA;AAIR;"}
1
+ {"version":3,"file":"Modal.js","sources":["../../../src/components/modal/Modal.tsx"],"sourcesContent":["import type { CSSProperties, ReactNode } from 'react';\nimport { useId } from 'react';\nimport Scrollbar from '@/components/scrollbar/Scrollbar';\nimport ModalFooter from '@/components/modal-footer/ModalFooter';\nimport type { ModalFooterType } from '@/components/modal-footer/ModalFooter';\nimport ModalHeader from '@/components/modal-header/ModalHeader';\nimport type { ModalSubtitlePlacement } from '@/components/modal-header/ModalHeader';\nimport { toKebab } from '@/utils/string';\nimport styles from './Modal.module.scss';\n\nexport type ModalSize = 'small' | 'medium' | 'large';\n\n/**\n * Body inset. `menu` is for MenuItem lists — 8px vertical / 16px horizontal so\n * row labels align with the 32px header/footer margins. `none` removes inset\n * for host-owned full-bleed layouts (e.g. settings sidebars).\n */\nexport type ModalBodyPadding = 'default' | 'menu' | 'none';\n\nexport type { ModalFooterType, ModalSubtitlePlacement };\n\nexport interface ModalProps {\n /** Extra class on the dialog root (size + chrome classes still apply). */\n className?: string;\n /** Inline style on the dialog root — prefer `className` for layout overrides. */\n style?: CSSProperties;\n /** Width variant. Figma: Size — Small 600px, Medium 704px, Large 832px. */\n size?: ModalSize;\n /** Modal heading text. Required for a11y; use `hideTitle` for close-only chrome. */\n title: ReactNode;\n /** Optional secondary line — placement via `subtitlePlacement`. */\n subtitle?: ReactNode;\n /**\n * Where the subtitle sits. Figma Modal Header: Below | Beside.\n * Default: `below`.\n */\n subtitlePlacement?: ModalSubtitlePlacement;\n /** Visually hide the title (close-only header); title remains for `aria-labelledby`. */\n hideTitle?: boolean;\n /** When true, shows a back-arrow button before the title. */\n showBackButton?: boolean;\n /** Called when the back button is clicked. */\n onBack?: () => void;\n /** Called when the × close button is clicked. */\n onClose?: () => void;\n /** Show divider between header and body. Default: true. */\n headerDivider?: boolean;\n /** Optional control before close (Button, search field, …). */\n headerAction?: ReactNode;\n /**\n * Body inset. Default is 32px horizontal / 28px vertical. Use `menu` for\n * MenuItem lists. Use `none` when the host owns padding.\n */\n bodyPadding?: ModalBodyPadding;\n /**\n * When true (default), wraps body content in Scrollbar. Set false when the\n * host manages scroll inside panes.\n */\n scrollable?: boolean;\n /** Body content. */\n children: ReactNode;\n /** Footer slot — typically Buttons. Wrapped in `ModalFooter`. */\n footer?: ReactNode;\n /** Left footer slot (pagination status, PaginationDots, …). */\n footerLeading?: ReactNode;\n /** Footer layout. Figma Modal Footer Type. Default: `2-actions`. */\n footerType?: ModalFooterType;\n /** Show divider between body and footer. Default: true. */\n footerDivider?: boolean;\n}\n\n/**\n * Modal dialog shell — composes ModalHeader, scrollable body, and ModalFooter.\n * Host owns portal, overlay, focus trap, and open/close.\n */\nexport default function Modal({\n className = '',\n style,\n size = 'small',\n title,\n subtitle,\n subtitlePlacement = 'below',\n hideTitle = false,\n showBackButton = false,\n onBack,\n onClose,\n headerDivider = true,\n headerAction,\n bodyPadding = 'default',\n scrollable = true,\n children,\n footer,\n footerLeading,\n footerType = '2-actions',\n footerDivider = true,\n}: ModalProps) {\n const titleId = useId();\n const sizeClass = styles[`modal--size-${toKebab(size)}`];\n const bodyInnerClass = [\n styles['modal__body-inner'],\n bodyPadding === 'menu' && styles['modal__body-inner--menu'],\n bodyPadding === 'none' && styles['modal__body-inner--none'],\n ]\n .filter(Boolean)\n .join(' ');\n\n const bodyInner = <div className={bodyInnerClass}>{children}</div>;\n const showFooter =\n footer != null ||\n footerLeading != null ||\n footerType === 'spacer-small' ||\n footerType === 'spacer-large';\n\n return (\n <div\n className={[styles.modal, sizeClass, className].filter(Boolean).join(' ')}\n style={style}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby={titleId}\n >\n <ModalHeader\n title={title}\n titleId={titleId}\n subtitle={subtitle}\n subtitlePlacement={subtitlePlacement}\n hideTitle={hideTitle}\n showBackButton={showBackButton}\n onBack={onBack}\n onClose={onClose}\n divider={headerDivider}\n headerAction={headerAction}\n />\n\n <div className={styles['modal__body']}>\n {scrollable ? <Scrollbar>{bodyInner}</Scrollbar> : bodyInner}\n </div>\n\n {showFooter && (\n <ModalFooter\n type={footerType}\n divider={footerDivider}\n leading={footerLeading}\n >\n {footer}\n </ModalFooter>\n )}\n </div>\n );\n}\n"],"names":["Modal","className","style","size","title","subtitle","subtitlePlacement","hideTitle","showBackButton","onBack","onClose","headerDivider","headerAction","bodyPadding","scrollable","children","footer","footerLeading","footerType","footerDivider","titleId","useId","sizeClass","styles","toKebab","bodyInnerClass","bodyInner","jsx","showFooter","jsxs","ModalHeader","Scrollbar","ModalFooter"],"mappings":";;;;;;;AA2EA,SAAwBA,EAAM;AAAA,EAC5B,WAAAC,IAAY;AAAA,EACZ,OAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,mBAAAC,IAAoB;AAAA,EACpB,WAAAC,IAAY;AAAA,EACZ,gBAAAC,IAAiB;AAAA,EACjB,QAAAC;AAAA,EACA,SAAAC;AAAA,EACA,eAAAC,IAAgB;AAAA,EAChB,cAAAC;AAAA,EACA,aAAAC,IAAc;AAAA,EACd,YAAAC,IAAa;AAAA,EACb,UAAAC;AAAA,EACA,QAAAC;AAAA,EACA,eAAAC;AAAA,EACA,YAAAC,IAAa;AAAA,EACb,eAAAC,IAAgB;AAClB,GAAe;AACb,QAAMC,IAAUC,EAAA,GACVC,IAAYC,EAAO,eAAeC,EAAQrB,CAAI,CAAC,EAAE,GACjDsB,IAAiB;AAAA,IACrBF,EAAO,mBAAmB;AAAA,IAC1BV,MAAgB,UAAUU,EAAO,yBAAyB;AAAA,IAC1DV,MAAgB,UAAUU,EAAO,yBAAyB;AAAA,EAAA,EAEzD,OAAO,OAAO,EACd,KAAK,GAAG,GAELG,IAAY,gBAAAC,EAAC,OAAA,EAAI,WAAWF,GAAiB,UAAAV,GAAS,GACtDa,IACJZ,KAAU,QACVC,KAAiB,QACjBC,MAAe,kBACfA,MAAe;AAEjB,SACE,gBAAAW;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW,CAACN,EAAO,OAAOD,GAAWrB,CAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAAA,MACxE,OAAAC;AAAA,MACA,MAAK;AAAA,MACL,cAAW;AAAA,MACX,mBAAiBkB;AAAA,MAEjB,UAAA;AAAA,QAAA,gBAAAO;AAAA,UAACG;AAAA,UAAA;AAAA,YACC,OAAA1B;AAAA,YACA,SAAAgB;AAAA,YACA,UAAAf;AAAA,YACA,mBAAAC;AAAA,YACA,WAAAC;AAAA,YACA,gBAAAC;AAAA,YACA,QAAAC;AAAA,YACA,SAAAC;AAAA,YACA,SAASC;AAAA,YACT,cAAAC;AAAA,UAAA;AAAA,QAAA;AAAA,QAGF,gBAAAe,EAAC,OAAA,EAAI,WAAWJ,EAAO,aACpB,UAAAT,IAAa,gBAAAa,EAACI,GAAA,EAAW,UAAAL,EAAA,CAAU,IAAeA,GACrD;AAAA,QAECE,KACC,gBAAAD;AAAA,UAACK;AAAA,UAAA;AAAA,YACC,MAAMd;AAAA,YACN,SAASC;AAAA,YACT,SAASF;AAAA,YAER,UAAAD;AAAA,UAAA;AAAA,QAAA;AAAA,MACH;AAAA,IAAA;AAAA,EAAA;AAIR;"}
@@ -1 +1 @@
1
- ._modal_1wwq4_2{background-color:var(--center-channel-bg);border:1px solid rgba(var(--center-channel-color-rgb),.16);border-radius:var(--radius-l);box-shadow:var(--elevation-6);display:flex;flex-direction:column;overflow:hidden}._modal--size-small_1wwq4_11{width:600px}._modal--size-medium_1wwq4_14{width:704px}._modal--size-large_1wwq4_17{width:832px}._modal__header_1wwq4_20{display:flex;align-items:flex-start;gap:var(--spacing-s);padding:var(--spacing-xxl) var(--spacing-xxxl);border-bottom:1px solid rgba(var(--center-channel-color-rgb),.12);flex-shrink:0}._modal__header--no-divider_1wwq4_28{border-bottom:none;padding-bottom:0}._modal__header-inner_1wwq4_32{display:flex;align-items:center;gap:var(--spacing-m);flex:1;min-width:0;padding:var(--spacing-xxxxs) 0}._modal__title-group_1wwq4_40{display:flex;flex-direction:column;gap:var(--spacing-xxxs);min-width:0}._modal__title_1wwq4_40{font-family:var(--font-family-heading);font-size:var(--font-size-500);font-weight:var(--font-weight-semibold);line-height:var(--line-height-500);color:var(--center-channel-color);margin:0}._modal__subtitle_1wwq4_54{font-family:var(--font-family-body);font-size:var(--font-size-100);line-height:var(--line-height-200);color:rgba(var(--center-channel-color-rgb),.72);margin:0}._modal__close_1wwq4_61{margin-right:-12px;margin-top:-6px;margin-bottom:-6px}._modal__body_1wwq4_66{flex:1;min-height:0}._modal__body-inner_1wwq4_70{padding:28px var(--spacing-xxxl)}._modal__body-inner--menu_1wwq4_73{padding:var(--spacing-xs) var(--spacing-l)}._modal__footer_1wwq4_76{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-xs);padding:var(--spacing-xxl) var(--spacing-xxxl);border-top:1px solid rgba(var(--center-channel-color-rgb),.12);flex-shrink:0}._modal__footer--no-divider_1wwq4_85{border-top:none;padding-top:0}
1
+ ._modal_18mtm_2{background-color:var(--center-channel-bg);border:1px solid rgba(var(--center-channel-color-rgb),.16);border-radius:var(--radius-l);box-shadow:var(--elevation-6);display:flex;flex-direction:column;overflow:hidden}._modal--size-small_18mtm_11{width:600px}._modal--size-medium_18mtm_14{width:704px}._modal--size-large_18mtm_17{width:832px}._modal__body_18mtm_20{flex:1;min-height:0}._modal__body-inner_18mtm_24{padding:28px var(--spacing-xxxl)}._modal__body-inner--menu_18mtm_27{padding:var(--spacing-xs) var(--spacing-l)}._modal__body-inner--none_18mtm_30{padding:0}._modal__body_18mtm_20>._modal__body-inner_18mtm_24{height:100%}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('./Modal.module.css');const _="_modal_1wwq4_2",o="_modal__header_1wwq4_20",d="_modal__title_1wwq4_40",l="_modal__subtitle_1wwq4_54",e="_modal__close_1wwq4_61",a="_modal__body_1wwq4_66",m="_modal__footer_1wwq4_76",t={modal:_,"modal--size-small":"_modal--size-small_1wwq4_11","modal--size-medium":"_modal--size-medium_1wwq4_14","modal--size-large":"_modal--size-large_1wwq4_17",modal__header:o,"modal__header--no-divider":"_modal__header--no-divider_1wwq4_28","modal__header-inner":"_modal__header-inner_1wwq4_32","modal__title-group":"_modal__title-group_1wwq4_40",modal__title:d,modal__subtitle:l,modal__close:e,modal__body:a,"modal__body-inner":"_modal__body-inner_1wwq4_70","modal__body-inner--menu":"_modal__body-inner--menu_1wwq4_73",modal__footer:m,"modal__footer--no-divider":"_modal__footer--no-divider_1wwq4_85"};exports.default=t;exports.modal=_;exports.modal__body=a;exports.modal__close=e;exports.modal__footer=m;exports.modal__header=o;exports.modal__subtitle=l;exports.modal__title=d;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('./Modal.module.css');const _="_modal_18mtm_2",m="_modal__body_18mtm_20",o={modal:_,"modal--size-small":"_modal--size-small_18mtm_11","modal--size-medium":"_modal--size-medium_18mtm_14","modal--size-large":"_modal--size-large_18mtm_17",modal__body:m,"modal__body-inner":"_modal__body-inner_18mtm_24","modal__body-inner--menu":"_modal__body-inner--menu_18mtm_27","modal__body-inner--none":"_modal__body-inner--none_18mtm_30"};exports.default=o;exports.modal=_;exports.modal__body=m;
2
2
  //# sourceMappingURL=Modal.module.scss.cjs.map
@@ -1,29 +1,16 @@
1
- import './Modal.module.css';const _ = "_modal_1wwq4_2", o = "_modal__header_1wwq4_20", d = "_modal__title_1wwq4_40", l = "_modal__subtitle_1wwq4_54", e = "_modal__close_1wwq4_61", a = "_modal__body_1wwq4_66", m = "_modal__footer_1wwq4_76", t = {
2
- modal: _,
3
- "modal--size-small": "_modal--size-small_1wwq4_11",
4
- "modal--size-medium": "_modal--size-medium_1wwq4_14",
5
- "modal--size-large": "_modal--size-large_1wwq4_17",
6
- modal__header: o,
7
- "modal__header--no-divider": "_modal__header--no-divider_1wwq4_28",
8
- "modal__header-inner": "_modal__header-inner_1wwq4_32",
9
- "modal__title-group": "_modal__title-group_1wwq4_40",
10
- modal__title: d,
11
- modal__subtitle: l,
12
- modal__close: e,
13
- modal__body: a,
14
- "modal__body-inner": "_modal__body-inner_1wwq4_70",
15
- "modal__body-inner--menu": "_modal__body-inner--menu_1wwq4_73",
16
- modal__footer: m,
17
- "modal__footer--no-divider": "_modal__footer--no-divider_1wwq4_85"
1
+ import './Modal.module.css';const m = "_modal_18mtm_2", _ = "_modal__body_18mtm_20", o = {
2
+ modal: m,
3
+ "modal--size-small": "_modal--size-small_18mtm_11",
4
+ "modal--size-medium": "_modal--size-medium_18mtm_14",
5
+ "modal--size-large": "_modal--size-large_18mtm_17",
6
+ modal__body: _,
7
+ "modal__body-inner": "_modal__body-inner_18mtm_24",
8
+ "modal__body-inner--menu": "_modal__body-inner--menu_18mtm_27",
9
+ "modal__body-inner--none": "_modal__body-inner--none_18mtm_30"
18
10
  };
19
11
  export {
20
- t as default,
21
- _ as modal,
22
- a as modal__body,
23
- e as modal__close,
24
- m as modal__footer,
25
- o as modal__header,
26
- l as modal__subtitle,
27
- d as modal__title
12
+ o as default,
13
+ m as modal,
14
+ _ as modal__body
28
15
  };
29
16
  //# sourceMappingURL=Modal.module.scss.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Modal.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
@@ -1,3 +1,3 @@
1
1
  export { default as Modal } from './Modal';
2
- export type { ModalBodyPadding, ModalProps, ModalSize } from './Modal';
2
+ export type { ModalBodyPadding, ModalFooterType, ModalProps, ModalSize, ModalSubtitlePlacement, } from './Modal';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/modal/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/modal/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,YAAY,EACV,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,SAAS,EACT,sBAAsB,GACvB,MAAM,SAAS,CAAC"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("react/jsx-runtime"),e=require("./ModalFooter.module.scss.cjs");function n({className:r="",type:l="2-actions",divider:i=!0,leading:a,children:d}){const t=l==="spacer-small"||l==="spacer-large",s=i&&!t,u=e.default[`modal-footer--type-${l}`];return o.jsx("div",{className:[e.default["modal-footer"],u,s&&e.default["modal-footer--divider"],!s&&!t&&e.default["modal-footer--no-divider"],r].filter(Boolean).join(" "),children:!t&&o.jsxs("div",{className:e.default["modal-footer__content"],children:[a!=null&&o.jsx("div",{className:e.default["modal-footer__leading"],children:a}),d!=null&&o.jsx("div",{className:e.default["modal-footer__actions"],children:d})]})})}exports.default=n;
2
+ //# sourceMappingURL=ModalFooter.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModalFooter.cjs","sources":["../../../src/components/modal-footer/ModalFooter.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport styles from './ModalFooter.module.scss';\n\n/**\n * Figma Modal Footer Type (kebab-case).\n * - `2-actions` / `1-action` — children end-aligned\n * - `2-actions-separated` — space-between (first child start, rest end… or use `leading`)\n * - `pagination` / `stepped-progress` — `leading` on the left, `children` on the right\n * - `spacer-small` / `spacer-large` — empty padding only\n */\nexport type ModalFooterType =\n | '2-actions'\n | '2-actions-separated'\n | '1-action'\n | 'pagination'\n | 'stepped-progress'\n | 'spacer-small'\n | 'spacer-large';\n\nexport interface ModalFooterProps {\n className?: string;\n /** Layout variant. Figma: Type. Default: `2-actions`. */\n type?: ModalFooterType;\n /** Top border. Figma: Divider = On. Default: true (ignored for spacers). */\n divider?: boolean;\n /** Left slot — pagination status text, PaginationDots, etc. */\n leading?: ReactNode;\n /** Action buttons (or empty for spacers). */\n children?: ReactNode;\n}\n\n/**\n * Modal Footer chrome — padding, optional divider, and layout for actions /\n * pagination / stepped progress / spacers. Pass Buttons (or other controls) as\n * children; host owns labels and handlers.\n *\n * @see https://www.figma.com/design/qdm5tKododENqnTvjLovDT/Patterns---Modals?node-id=797-8156\n */\nexport default function ModalFooter({\n className = '',\n type = '2-actions',\n divider = true,\n leading,\n children,\n}: ModalFooterProps) {\n const isSpacer = type === 'spacer-small' || type === 'spacer-large';\n const showDivider = divider && !isSpacer;\n const typeClass = styles[`modal-footer--type-${type}`];\n\n return (\n <div\n className={[\n styles['modal-footer'],\n typeClass,\n showDivider && styles['modal-footer--divider'],\n !showDivider && !isSpacer && styles['modal-footer--no-divider'],\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n {!isSpacer && (\n <div className={styles['modal-footer__content']}>\n {leading != null && (\n <div className={styles['modal-footer__leading']}>{leading}</div>\n )}\n {children != null && (\n <div className={styles['modal-footer__actions']}>{children}</div>\n )}\n </div>\n )}\n </div>\n );\n}\n"],"names":["ModalFooter","className","type","divider","leading","children","isSpacer","showDivider","typeClass","styles","jsx","jsxs"],"mappings":"4LAsCA,SAAwBA,EAAY,CAClC,UAAAC,EAAY,GACZ,KAAAC,EAAO,YACP,QAAAC,EAAU,GACV,QAAAC,EACA,SAAAC,CACF,EAAqB,CACnB,MAAMC,EAAWJ,IAAS,gBAAkBA,IAAS,eAC/CK,EAAcJ,GAAW,CAACG,EAC1BE,EAAYC,EAAAA,QAAO,sBAAsBP,CAAI,EAAE,EAErD,OACEQ,EAAAA,IAAC,MAAA,CACC,UAAW,CACTD,EAAAA,QAAO,cAAc,EACrBD,EACAD,GAAeE,EAAAA,QAAO,uBAAuB,EAC7C,CAACF,GAAe,CAACD,GAAYG,EAAAA,QAAO,0BAA0B,EAC9DR,CAAA,EAEC,OAAO,OAAO,EACd,KAAK,GAAG,EAEV,UAACK,GACAK,EAAAA,KAAC,OAAI,UAAWF,EAAAA,QAAO,uBAAuB,EAC3C,SAAA,CAAAL,GAAW,MACVM,MAAC,MAAA,CAAI,UAAWD,EAAAA,QAAO,uBAAuB,EAAI,SAAAL,EAAQ,EAE3DC,GAAY,MACXK,EAAAA,IAAC,MAAA,CAAI,UAAWD,EAAAA,QAAO,uBAAuB,EAAI,SAAAJ,CAAA,CAAS,CAAA,CAAA,CAE/D,CAAA,CAAA,CAIR"}
@@ -0,0 +1,29 @@
1
+ import { ReactNode } from 'react';
2
+ /**
3
+ * Figma Modal Footer Type (kebab-case).
4
+ * - `2-actions` / `1-action` — children end-aligned
5
+ * - `2-actions-separated` — space-between (first child start, rest end… or use `leading`)
6
+ * - `pagination` / `stepped-progress` — `leading` on the left, `children` on the right
7
+ * - `spacer-small` / `spacer-large` — empty padding only
8
+ */
9
+ export type ModalFooterType = '2-actions' | '2-actions-separated' | '1-action' | 'pagination' | 'stepped-progress' | 'spacer-small' | 'spacer-large';
10
+ export interface ModalFooterProps {
11
+ className?: string;
12
+ /** Layout variant. Figma: Type. Default: `2-actions`. */
13
+ type?: ModalFooterType;
14
+ /** Top border. Figma: Divider = On. Default: true (ignored for spacers). */
15
+ divider?: boolean;
16
+ /** Left slot — pagination status text, PaginationDots, etc. */
17
+ leading?: ReactNode;
18
+ /** Action buttons (or empty for spacers). */
19
+ children?: ReactNode;
20
+ }
21
+ /**
22
+ * Modal Footer chrome — padding, optional divider, and layout for actions /
23
+ * pagination / stepped progress / spacers. Pass Buttons (or other controls) as
24
+ * children; host owns labels and handlers.
25
+ *
26
+ * @see https://www.figma.com/design/qdm5tKododENqnTvjLovDT/Patterns---Modals?node-id=797-8156
27
+ */
28
+ export default function ModalFooter({ className, type, divider, leading, children, }: ModalFooterProps): import("react/jsx-runtime").JSX.Element;
29
+ //# sourceMappingURL=ModalFooter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModalFooter.d.ts","sourceRoot":"","sources":["../../../src/components/modal-footer/ModalFooter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GACvB,WAAW,GACX,qBAAqB,GACrB,UAAU,GACV,YAAY,GACZ,kBAAkB,GAClB,cAAc,GACd,cAAc,CAAC;AAEnB,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,SAAc,EACd,IAAkB,EAClB,OAAc,EACd,OAAO,EACP,QAAQ,GACT,EAAE,gBAAgB,2CA6BlB"}
@@ -0,0 +1,31 @@
1
+ import { jsx as l, jsxs as c } from "react/jsx-runtime";
2
+ import o from "./ModalFooter.module.scss.js";
3
+ function v({
4
+ className: d = "",
5
+ type: e = "2-actions",
6
+ divider: i = !0,
7
+ leading: r,
8
+ children: s
9
+ }) {
10
+ const a = e === "spacer-small" || e === "spacer-large", t = i && !a, n = o[`modal-footer--type-${e}`];
11
+ return /* @__PURE__ */ l(
12
+ "div",
13
+ {
14
+ className: [
15
+ o["modal-footer"],
16
+ n,
17
+ t && o["modal-footer--divider"],
18
+ !t && !a && o["modal-footer--no-divider"],
19
+ d
20
+ ].filter(Boolean).join(" "),
21
+ children: !a && /* @__PURE__ */ c("div", { className: o["modal-footer__content"], children: [
22
+ r != null && /* @__PURE__ */ l("div", { className: o["modal-footer__leading"], children: r }),
23
+ s != null && /* @__PURE__ */ l("div", { className: o["modal-footer__actions"], children: s })
24
+ ] })
25
+ }
26
+ );
27
+ }
28
+ export {
29
+ v as default
30
+ };
31
+ //# sourceMappingURL=ModalFooter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModalFooter.js","sources":["../../../src/components/modal-footer/ModalFooter.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport styles from './ModalFooter.module.scss';\n\n/**\n * Figma Modal Footer Type (kebab-case).\n * - `2-actions` / `1-action` — children end-aligned\n * - `2-actions-separated` — space-between (first child start, rest end… or use `leading`)\n * - `pagination` / `stepped-progress` — `leading` on the left, `children` on the right\n * - `spacer-small` / `spacer-large` — empty padding only\n */\nexport type ModalFooterType =\n | '2-actions'\n | '2-actions-separated'\n | '1-action'\n | 'pagination'\n | 'stepped-progress'\n | 'spacer-small'\n | 'spacer-large';\n\nexport interface ModalFooterProps {\n className?: string;\n /** Layout variant. Figma: Type. Default: `2-actions`. */\n type?: ModalFooterType;\n /** Top border. Figma: Divider = On. Default: true (ignored for spacers). */\n divider?: boolean;\n /** Left slot — pagination status text, PaginationDots, etc. */\n leading?: ReactNode;\n /** Action buttons (or empty for spacers). */\n children?: ReactNode;\n}\n\n/**\n * Modal Footer chrome — padding, optional divider, and layout for actions /\n * pagination / stepped progress / spacers. Pass Buttons (or other controls) as\n * children; host owns labels and handlers.\n *\n * @see https://www.figma.com/design/qdm5tKododENqnTvjLovDT/Patterns---Modals?node-id=797-8156\n */\nexport default function ModalFooter({\n className = '',\n type = '2-actions',\n divider = true,\n leading,\n children,\n}: ModalFooterProps) {\n const isSpacer = type === 'spacer-small' || type === 'spacer-large';\n const showDivider = divider && !isSpacer;\n const typeClass = styles[`modal-footer--type-${type}`];\n\n return (\n <div\n className={[\n styles['modal-footer'],\n typeClass,\n showDivider && styles['modal-footer--divider'],\n !showDivider && !isSpacer && styles['modal-footer--no-divider'],\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n {!isSpacer && (\n <div className={styles['modal-footer__content']}>\n {leading != null && (\n <div className={styles['modal-footer__leading']}>{leading}</div>\n )}\n {children != null && (\n <div className={styles['modal-footer__actions']}>{children}</div>\n )}\n </div>\n )}\n </div>\n );\n}\n"],"names":["ModalFooter","className","type","divider","leading","children","isSpacer","showDivider","typeClass","styles","jsx","jsxs"],"mappings":";;AAsCA,SAAwBA,EAAY;AAAA,EAClC,WAAAC,IAAY;AAAA,EACZ,MAAAC,IAAO;AAAA,EACP,SAAAC,IAAU;AAAA,EACV,SAAAC;AAAA,EACA,UAAAC;AACF,GAAqB;AACnB,QAAMC,IAAWJ,MAAS,kBAAkBA,MAAS,gBAC/CK,IAAcJ,KAAW,CAACG,GAC1BE,IAAYC,EAAO,sBAAsBP,CAAI,EAAE;AAErD,SACE,gBAAAQ;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW;AAAA,QACTD,EAAO,cAAc;AAAA,QACrBD;AAAA,QACAD,KAAeE,EAAO,uBAAuB;AAAA,QAC7C,CAACF,KAAe,CAACD,KAAYG,EAAO,0BAA0B;AAAA,QAC9DR;AAAA,MAAA,EAEC,OAAO,OAAO,EACd,KAAK,GAAG;AAAA,MAEV,WAACK,KACA,gBAAAK,EAAC,SAAI,WAAWF,EAAO,uBAAuB,GAC3C,UAAA;AAAA,QAAAL,KAAW,QACV,gBAAAM,EAAC,OAAA,EAAI,WAAWD,EAAO,uBAAuB,GAAI,UAAAL,GAAQ;AAAA,QAE3DC,KAAY,QACX,gBAAAK,EAAC,OAAA,EAAI,WAAWD,EAAO,uBAAuB,GAAI,UAAAJ,EAAA,CAAS;AAAA,MAAA,EAAA,CAE/D;AAAA,IAAA;AAAA,EAAA;AAIR;"}
@@ -0,0 +1 @@
1
+ ._modal-footer_1yi4a_2{display:flex;flex-direction:column;flex-shrink:0;align-items:stretch}._modal-footer--divider_1yi4a_8{border-top:1px solid rgba(var(--center-channel-color-rgb),.12)}._modal-footer--no-divider_1yi4a_11 ._modal-footer__content_1yi4a_11{padding-top:0}._modal-footer__content_1yi4a_11{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-xs);width:100%;padding:var(--spacing-xxl) var(--spacing-xxxl)}._modal-footer__leading_1yi4a_22{flex:1 1 auto;min-width:0;display:flex;align-items:center;font-family:var(--font-family-body);font-size:var(--font-size-75);font-weight:var(--font-weight-semibold);line-height:var(--line-height-75);color:rgba(var(--center-channel-color-rgb),.64)}._modal-footer__actions_1yi4a_33{display:flex;flex-shrink:0;align-items:center;justify-content:flex-end;gap:var(--spacing-xs)}._modal-footer--type-2-actions-separated_1yi4a_40 ._modal-footer__content_1yi4a_11{justify-content:space-between}._modal-footer--type-2-actions-separated_1yi4a_40 ._modal-footer__actions_1yi4a_33:only-child{flex:1 1 auto;justify-content:space-between}._modal-footer--type-pagination_1yi4a_47 ._modal-footer__content_1yi4a_11,._modal-footer--type-stepped-progress_1yi4a_47 ._modal-footer__content_1yi4a_11{justify-content:space-between}._modal-footer--type-spacer-small_1yi4a_50{padding:var(--spacing-l);min-height:calc(var(--spacing-l) * 2)}._modal-footer--type-spacer-large_1yi4a_54{padding:var(--spacing-xxl);min-height:calc(var(--spacing-xxl) * 2)}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('./ModalFooter.module.css');const o={"modal-footer":"_modal-footer_1yi4a_2","modal-footer--divider":"_modal-footer--divider_1yi4a_8","modal-footer--no-divider":"_modal-footer--no-divider_1yi4a_11","modal-footer__content":"_modal-footer__content_1yi4a_11","modal-footer__leading":"_modal-footer__leading_1yi4a_22","modal-footer__actions":"_modal-footer__actions_1yi4a_33","modal-footer--type-2-actions-separated":"_modal-footer--type-2-actions-separated_1yi4a_40","modal-footer--type-pagination":"_modal-footer--type-pagination_1yi4a_47","modal-footer--type-stepped-progress":"_modal-footer--type-stepped-progress_1yi4a_47","modal-footer--type-spacer-small":"_modal-footer--type-spacer-small_1yi4a_50","modal-footer--type-spacer-large":"_modal-footer--type-spacer-large_1yi4a_54"};exports.default=o;
2
+ //# sourceMappingURL=ModalFooter.module.scss.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModalFooter.module.scss.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,17 @@
1
+ import './ModalFooter.module.css';const o = {
2
+ "modal-footer": "_modal-footer_1yi4a_2",
3
+ "modal-footer--divider": "_modal-footer--divider_1yi4a_8",
4
+ "modal-footer--no-divider": "_modal-footer--no-divider_1yi4a_11",
5
+ "modal-footer__content": "_modal-footer__content_1yi4a_11",
6
+ "modal-footer__leading": "_modal-footer__leading_1yi4a_22",
7
+ "modal-footer__actions": "_modal-footer__actions_1yi4a_33",
8
+ "modal-footer--type-2-actions-separated": "_modal-footer--type-2-actions-separated_1yi4a_40",
9
+ "modal-footer--type-pagination": "_modal-footer--type-pagination_1yi4a_47",
10
+ "modal-footer--type-stepped-progress": "_modal-footer--type-stepped-progress_1yi4a_47",
11
+ "modal-footer--type-spacer-small": "_modal-footer--type-spacer-small_1yi4a_50",
12
+ "modal-footer--type-spacer-large": "_modal-footer--type-spacer-large_1yi4a_54"
13
+ };
14
+ export {
15
+ o as default
16
+ };
17
+ //# sourceMappingURL=ModalFooter.module.scss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModalFooter.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./ModalFooter.cjs");exports.ModalFooter=e.default;
2
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export { default as ModalFooter } from './ModalFooter';
2
+ export type { ModalFooterProps, ModalFooterType } from './ModalFooter';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/modal-footer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { default as e } from "./ModalFooter.js";
2
+ export {
3
+ e as ModalFooter
4
+ };
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),__b=require("@mattermost/compass-icons/components/close.js"),b=__b?.default??__b,__N=require("@mattermost/compass-icons/components/arrow-left.js"),N=__N?.default??__N,c=require("../icon/Icon.cjs"),n=require("../icon-button/IconButton.cjs"),a=require("./ModalHeader.module.scss.cjs");function v({className:u="",title:l,subtitle:d,subtitlePlacement:h="below",hideTitle:o=!1,titleId:s,showBackButton:m=!1,onBack:f,onClose:_,divider:j=!0,headerAction:x}){const r=!o&&l!=null,i=r&&d!=null,t=h==="beside"&&i;return e.jsx("div",{className:[a.default["modal-header"],!j&&a.default["modal-header--no-divider"],o&&a.default["modal-header--close-only"],u].filter(Boolean).join(" "),children:e.jsxs("div",{className:a.default["modal-header__content"],children:[r?e.jsxs("div",{className:a.default["modal-header__titles"],children:[e.jsxs("div",{className:a.default["modal-header__primary"],children:[m&&e.jsx(n.default,{"aria-label":"Go back",icon:e.jsx(c.default,{glyph:e.jsx(N,{}),size:"20"}),onClick:f}),e.jsx("h2",{id:s,className:a.default["modal-header__title"],children:l}),t&&e.jsxs("div",{className:a.default["modal-header__subtitle-beside"],children:[e.jsx("span",{className:a.default["modal-header__subtitle-divider"],"aria-hidden":!0}),e.jsx("p",{className:a.default["modal-header__subtitle"],children:d})]})]}),i&&!t&&e.jsx("p",{className:a.default["modal-header__subtitle"],children:d})]}):s!=null&&l!=null?e.jsx("h2",{id:s,className:a.default["modal-header__title-sr"],children:l}):null,e.jsxs("div",{className:a.default["modal-header__actions"],children:[x,e.jsx(n.default,{"aria-label":"Close",className:a.default["modal-header__close"],icon:e.jsx(c.default,{glyph:e.jsx(b,{}),size:"20"}),onClick:_})]})]})})}exports.default=v;
2
+ //# sourceMappingURL=ModalHeader.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModalHeader.cjs","sources":["../../../src/components/modal-header/ModalHeader.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport CloseIcon from '@mattermost/compass-icons/components/close';\nimport ArrowLeftIcon from '@mattermost/compass-icons/components/arrow-left';\nimport Icon from '@/components/icon/Icon';\nimport IconButton from '@/components/icon-button/IconButton';\nimport styles from './ModalHeader.module.scss';\n\nexport type ModalSubtitlePlacement = 'below' | 'beside';\n\nexport interface ModalHeaderProps {\n className?: string;\n /** Heading text. Omit (with `hideTitle`) for close-only headers. */\n title?: ReactNode;\n /** Optional secondary text — placement controlled by `subtitlePlacement`. */\n subtitle?: ReactNode;\n /**\n * Where the subtitle sits relative to the title.\n * Figma: Subtitle = Below | Beside. Default: `below`.\n */\n subtitlePlacement?: ModalSubtitlePlacement;\n /** When true, title is visually hidden (close-only chrome; keep `title`/`titleId` for a11y). */\n hideTitle?: boolean;\n /** id for the title element — pair with dialog `aria-labelledby`. */\n titleId?: string;\n /** Back arrow before the title. */\n showBackButton?: boolean;\n onBack?: () => void;\n /** Called when the × is clicked. */\n onClose?: () => void;\n /** Show bottom border. Figma: Divider = On. Default: true. */\n divider?: boolean;\n /**\n * Optional control before close (Figma Controls = Button / Small Input / …).\n * Host owns the Button, TextInput, etc.\n */\n headerAction?: ReactNode;\n}\n\n/**\n * Modal Header — title row, optional subtitle (below or beside), optional back,\n * optional header action, and close. Compose into `Modal` or use standalone.\n *\n * @see https://www.figma.com/design/qdm5tKododENqnTvjLovDT/Patterns---Modals?node-id=789-15921\n */\nexport default function ModalHeader({\n className = '',\n title,\n subtitle,\n subtitlePlacement = 'below',\n hideTitle = false,\n titleId,\n showBackButton = false,\n onBack,\n onClose,\n divider = true,\n headerAction,\n}: ModalHeaderProps) {\n const showTitleBlock = !hideTitle && title != null;\n const showSubtitle = showTitleBlock && subtitle != null;\n const beside = subtitlePlacement === 'beside' && showSubtitle;\n\n return (\n <div\n className={[\n styles['modal-header'],\n !divider && styles['modal-header--no-divider'],\n hideTitle && styles['modal-header--close-only'],\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <div className={styles['modal-header__content']}>\n {showTitleBlock ? (\n <div className={styles['modal-header__titles']}>\n <div className={styles['modal-header__primary']}>\n {showBackButton && (\n <IconButton\n aria-label=\"Go back\"\n icon={<Icon glyph={<ArrowLeftIcon />} size=\"20\" />}\n onClick={onBack}\n />\n )}\n <h2 id={titleId} className={styles['modal-header__title']}>\n {title}\n </h2>\n {beside && (\n <div className={styles['modal-header__subtitle-beside']}>\n <span\n className={styles['modal-header__subtitle-divider']}\n aria-hidden\n />\n <p className={styles['modal-header__subtitle']}>{subtitle}</p>\n </div>\n )}\n </div>\n {showSubtitle && !beside && (\n <p className={styles['modal-header__subtitle']}>{subtitle}</p>\n )}\n </div>\n ) : titleId != null && title != null ? (\n <h2 id={titleId} className={styles['modal-header__title-sr']}>\n {title}\n </h2>\n ) : null}\n\n <div className={styles['modal-header__actions']}>\n {headerAction}\n <IconButton\n aria-label=\"Close\"\n className={styles['modal-header__close']}\n icon={<Icon glyph={<CloseIcon />} size=\"20\" />}\n onClick={onClose}\n />\n </div>\n </div>\n </div>\n );\n}\n"],"names":["ModalHeader","className","title","subtitle","subtitlePlacement","hideTitle","titleId","showBackButton","onBack","onClose","divider","headerAction","showTitleBlock","showSubtitle","beside","jsx","styles","jsxs","IconButton","Icon","ArrowLeftIcon","CloseIcon"],"mappings":"yXA4CA,SAAwBA,EAAY,CAClC,UAAAC,EAAY,GACZ,MAAAC,EACA,SAAAC,EACA,kBAAAC,EAAoB,QACpB,UAAAC,EAAY,GACZ,QAAAC,EACA,eAAAC,EAAiB,GACjB,OAAAC,EACA,QAAAC,EACA,QAAAC,EAAU,GACV,aAAAC,CACF,EAAqB,CACnB,MAAMC,EAAiB,CAACP,GAAaH,GAAS,KACxCW,EAAeD,GAAkBT,GAAY,KAC7CW,EAASV,IAAsB,UAAYS,EAEjD,OACEE,EAAAA,IAAC,MAAA,CACC,UAAW,CACTC,EAAAA,QAAO,cAAc,EACrB,CAACN,GAAWM,EAAAA,QAAO,0BAA0B,EAC7CX,GAAaW,EAAAA,QAAO,0BAA0B,EAC9Cf,CAAA,EAEC,OAAO,OAAO,EACd,KAAK,GAAG,EAEX,SAAAgB,EAAAA,KAAC,MAAA,CAAI,UAAWD,UAAO,uBAAuB,EAC3C,SAAA,CAAAJ,EACCK,EAAAA,KAAC,MAAA,CAAI,UAAWD,UAAO,sBAAsB,EAC3C,SAAA,CAAAC,EAAAA,KAAC,MAAA,CAAI,UAAWD,EAAAA,QAAO,uBAAuB,EAC3C,SAAA,CAAAT,GACCQ,EAAAA,IAACG,EAAAA,QAAA,CACC,aAAW,UACX,WAAOC,UAAA,CAAK,YAAQC,EAAA,EAAc,EAAI,KAAK,KAAK,EAChD,QAASZ,CAAA,CAAA,EAGbO,EAAAA,IAAC,MAAG,GAAIT,EAAS,UAAWU,EAAAA,QAAO,qBAAqB,EACrD,SAAAd,EACH,EACCY,GACCG,EAAAA,KAAC,MAAA,CAAI,UAAWD,UAAO,+BAA+B,EACpD,SAAA,CAAAD,EAAAA,IAAC,OAAA,CACC,UAAWC,EAAAA,QAAO,gCAAgC,EAClD,cAAW,EAAA,CAAA,QAEZ,IAAA,CAAE,UAAWA,EAAAA,QAAO,wBAAwB,EAAI,SAAAb,CAAA,CAAS,CAAA,CAAA,CAC5D,CAAA,EAEJ,EACCU,GAAgB,CAACC,GAChBC,EAAAA,IAAC,KAAE,UAAWC,EAAAA,QAAO,wBAAwB,EAAI,SAAAb,CAAA,CAAS,CAAA,CAAA,CAE9D,EACEG,GAAW,MAAQJ,GAAS,KAC9Ba,EAAAA,IAAC,KAAA,CAAG,GAAIT,EAAS,UAAWU,UAAO,wBAAwB,EACxD,WACH,EACE,KAEJC,EAAAA,KAAC,MAAA,CAAI,UAAWD,EAAAA,QAAO,uBAAuB,EAC3C,SAAA,CAAAL,EACDI,EAAAA,IAACG,EAAAA,QAAA,CACC,aAAW,QACX,UAAWF,EAAAA,QAAO,qBAAqB,EACvC,WAAOG,UAAA,CAAK,YAAQE,EAAA,EAAU,EAAI,KAAK,KAAK,EAC5C,QAASZ,CAAA,CAAA,CACX,CAAA,CACF,CAAA,CAAA,CACF,CAAA,CAAA,CAGN"}
@@ -0,0 +1,38 @@
1
+ import { ReactNode } from 'react';
2
+ export type ModalSubtitlePlacement = 'below' | 'beside';
3
+ export interface ModalHeaderProps {
4
+ className?: string;
5
+ /** Heading text. Omit (with `hideTitle`) for close-only headers. */
6
+ title?: ReactNode;
7
+ /** Optional secondary text — placement controlled by `subtitlePlacement`. */
8
+ subtitle?: ReactNode;
9
+ /**
10
+ * Where the subtitle sits relative to the title.
11
+ * Figma: Subtitle = Below | Beside. Default: `below`.
12
+ */
13
+ subtitlePlacement?: ModalSubtitlePlacement;
14
+ /** When true, title is visually hidden (close-only chrome; keep `title`/`titleId` for a11y). */
15
+ hideTitle?: boolean;
16
+ /** id for the title element — pair with dialog `aria-labelledby`. */
17
+ titleId?: string;
18
+ /** Back arrow before the title. */
19
+ showBackButton?: boolean;
20
+ onBack?: () => void;
21
+ /** Called when the × is clicked. */
22
+ onClose?: () => void;
23
+ /** Show bottom border. Figma: Divider = On. Default: true. */
24
+ divider?: boolean;
25
+ /**
26
+ * Optional control before close (Figma Controls = Button / Small Input / …).
27
+ * Host owns the Button, TextInput, etc.
28
+ */
29
+ headerAction?: ReactNode;
30
+ }
31
+ /**
32
+ * Modal Header — title row, optional subtitle (below or beside), optional back,
33
+ * optional header action, and close. Compose into `Modal` or use standalone.
34
+ *
35
+ * @see https://www.figma.com/design/qdm5tKododENqnTvjLovDT/Patterns---Modals?node-id=789-15921
36
+ */
37
+ export default function ModalHeader({ className, title, subtitle, subtitlePlacement, hideTitle, titleId, showBackButton, onBack, onClose, divider, headerAction, }: ModalHeaderProps): import("react/jsx-runtime").JSX.Element;
38
+ //# sourceMappingURL=ModalHeader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModalHeader.d.ts","sourceRoot":"","sources":["../../../src/components/modal-header/ModalHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAOvC,MAAM,MAAM,sBAAsB,GAAG,OAAO,GAAG,QAAQ,CAAC;AAExD,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oEAAoE;IACpE,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,sBAAsB,CAAC;IAC3C,gGAAgG;IAChG,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mCAAmC;IACnC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,YAAY,CAAC,EAAE,SAAS,CAAC;CAC1B;AAED;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,SAAc,EACd,KAAK,EACL,QAAQ,EACR,iBAA2B,EAC3B,SAAiB,EACjB,OAAO,EACP,cAAsB,EACtB,MAAM,EACN,OAAO,EACP,OAAc,EACd,YAAY,GACb,EAAE,gBAAgB,2CA8DlB"}
@@ -0,0 +1,74 @@
1
+ import { jsx as a, jsxs as l } from "react/jsx-runtime";
2
+ import __v from "@mattermost/compass-icons/components/close.js";const v=__v&&__v.default?__v.default:__v;
3
+ import __y from "@mattermost/compass-icons/components/arrow-left.js";const y=__y&&__y.default?__y.default:__y;
4
+ import n from "../icon/Icon.js";
5
+ import h from "../icon-button/IconButton.js";
6
+ import e from "./ModalHeader.module.scss.js";
7
+ function g({
8
+ className: t = "",
9
+ title: o,
10
+ subtitle: d,
11
+ subtitlePlacement: _ = "below",
12
+ hideTitle: s = !1,
13
+ titleId: r,
14
+ showBackButton: u = !1,
15
+ onBack: p,
16
+ onClose: f,
17
+ divider: N = !0,
18
+ headerAction: b
19
+ }) {
20
+ const i = !s && o != null, c = i && d != null, m = _ === "beside" && c;
21
+ return /* @__PURE__ */ a(
22
+ "div",
23
+ {
24
+ className: [
25
+ e["modal-header"],
26
+ !N && e["modal-header--no-divider"],
27
+ s && e["modal-header--close-only"],
28
+ t
29
+ ].filter(Boolean).join(" "),
30
+ children: /* @__PURE__ */ l("div", { className: e["modal-header__content"], children: [
31
+ i ? /* @__PURE__ */ l("div", { className: e["modal-header__titles"], children: [
32
+ /* @__PURE__ */ l("div", { className: e["modal-header__primary"], children: [
33
+ u && /* @__PURE__ */ a(
34
+ h,
35
+ {
36
+ "aria-label": "Go back",
37
+ icon: /* @__PURE__ */ a(n, { glyph: /* @__PURE__ */ a(y, {}), size: "20" }),
38
+ onClick: p
39
+ }
40
+ ),
41
+ /* @__PURE__ */ a("h2", { id: r, className: e["modal-header__title"], children: o }),
42
+ m && /* @__PURE__ */ l("div", { className: e["modal-header__subtitle-beside"], children: [
43
+ /* @__PURE__ */ a(
44
+ "span",
45
+ {
46
+ className: e["modal-header__subtitle-divider"],
47
+ "aria-hidden": !0
48
+ }
49
+ ),
50
+ /* @__PURE__ */ a("p", { className: e["modal-header__subtitle"], children: d })
51
+ ] })
52
+ ] }),
53
+ c && !m && /* @__PURE__ */ a("p", { className: e["modal-header__subtitle"], children: d })
54
+ ] }) : r != null && o != null ? /* @__PURE__ */ a("h2", { id: r, className: e["modal-header__title-sr"], children: o }) : null,
55
+ /* @__PURE__ */ l("div", { className: e["modal-header__actions"], children: [
56
+ b,
57
+ /* @__PURE__ */ a(
58
+ h,
59
+ {
60
+ "aria-label": "Close",
61
+ className: e["modal-header__close"],
62
+ icon: /* @__PURE__ */ a(n, { glyph: /* @__PURE__ */ a(v, {}), size: "20" }),
63
+ onClick: f
64
+ }
65
+ )
66
+ ] })
67
+ ] })
68
+ }
69
+ );
70
+ }
71
+ export {
72
+ g as default
73
+ };
74
+ //# sourceMappingURL=ModalHeader.js.map