@womp/kookie-ui 0.14.0 → 0.14.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (273) hide show
  1. package/components.css +203 -86
  2. package/dist/cjs/components/_internal/pane-chrome.d.ts +47 -0
  3. package/dist/cjs/components/_internal/pane-chrome.d.ts.map +1 -0
  4. package/dist/cjs/components/_internal/pane-chrome.js +2 -0
  5. package/dist/cjs/components/_internal/pane-chrome.js.map +7 -0
  6. package/dist/cjs/components/_internal/shell-sidebar.d.ts +2 -1
  7. package/dist/cjs/components/_internal/shell-sidebar.d.ts.map +1 -1
  8. package/dist/cjs/components/_internal/shell-sidebar.js +1 -1
  9. package/dist/cjs/components/_internal/shell-sidebar.js.map +4 -4
  10. package/dist/cjs/components/index.js +5 -5
  11. package/dist/cjs/components/index.js.map +4 -4
  12. package/dist/cjs/components/shell.d.ts +5 -1
  13. package/dist/cjs/components/shell.d.ts.map +1 -1
  14. package/dist/cjs/components/shell.js +1 -1
  15. package/dist/cjs/components/shell.js.map +4 -4
  16. package/dist/cjs/components/sidebar.d.ts +4 -0
  17. package/dist/cjs/components/sidebar.d.ts.map +1 -1
  18. package/dist/cjs/components/sidebar.js +1 -1
  19. package/dist/cjs/components/sidebar.js.map +4 -4
  20. package/dist/cjs/components/sidebar.props.d.ts +1 -0
  21. package/dist/cjs/components/sidebar.props.d.ts.map +1 -1
  22. package/dist/cjs/components/sidebar.props.js.map +2 -2
  23. package/dist/cjs/index.js +7 -7
  24. package/dist/cjs/index.js.map +4 -4
  25. package/dist/esm/{chunk-GSBKR7G3.js → chunk-3DEZMXFF.js} +2 -2
  26. package/dist/esm/{chunk-NSFH3PJ4.js → chunk-3HGHPAH4.js} +2 -2
  27. package/dist/esm/{chunk-NFBZUINB.js → chunk-3M73GWN5.js} +2 -2
  28. package/dist/esm/{chunk-EKYRZ54E.js → chunk-3Q3EOUGJ.js} +2 -2
  29. package/dist/esm/{chunk-4ME6O27S.js → chunk-3UZHKW6I.js} +2 -2
  30. package/dist/esm/{chunk-B2MGVXYL.js → chunk-45AMHIBO.js} +2 -2
  31. package/dist/esm/{chunk-BUV4ZVEQ.js → chunk-4BPRLR6C.js} +2 -2
  32. package/dist/esm/{chunk-3QCRDSYU.js → chunk-4D5LR4H6.js} +2 -2
  33. package/dist/esm/{chunk-77NDG5HJ.js → chunk-4JNHUPIM.js} +2 -2
  34. package/dist/esm/{chunk-4WSSOS2W.js → chunk-4WLDX7WZ.js} +2 -2
  35. package/dist/esm/{chunk-53IGKC4E.js → chunk-5JS7ADWX.js} +2 -2
  36. package/dist/esm/{chunk-AGNIFHOE.js → chunk-62CJL5G7.js} +2 -2
  37. package/dist/esm/{chunk-GRZ77YNL.js → chunk-7B6CIVAF.js} +2 -2
  38. package/dist/esm/{chunk-NTVCOEJE.js → chunk-BKES3M4Y.js} +2 -2
  39. package/dist/esm/{chunk-DWB4PFIW.js → chunk-BOFVKXUV.js} +2 -2
  40. package/dist/esm/{chunk-VX6ARMWP.js → chunk-C7UXUTUF.js} +2 -2
  41. package/dist/esm/{chunk-GQDDJK4N.js → chunk-CIKDGYX3.js} +2 -2
  42. package/dist/esm/{chunk-MNEUC27U.js → chunk-CL6P54QT.js} +2 -2
  43. package/dist/esm/{chunk-LWIIIPSF.js → chunk-DJA5MCJA.js} +2 -2
  44. package/dist/esm/{chunk-4YFJWXL2.js → chunk-EUSMN3K7.js} +2 -2
  45. package/dist/esm/{chunk-AYAKS3DT.js → chunk-GLKN32J3.js} +2 -2
  46. package/dist/esm/{chunk-COWZAUZR.js → chunk-GONBMSRL.js} +2 -2
  47. package/dist/esm/{chunk-FKFCOVSW.js → chunk-H7LHGT44.js} +2 -2
  48. package/dist/esm/{chunk-QUM2TSRR.js → chunk-HFVD7W6R.js} +2 -2
  49. package/dist/esm/{chunk-P7FYIMYU.js → chunk-HIBX2EXV.js} +2 -2
  50. package/dist/esm/{chunk-NLJIXW5S.js → chunk-HJLBVNQE.js} +2 -2
  51. package/dist/esm/{chunk-5ADGYTG5.js → chunk-HNO4X33C.js} +2 -2
  52. package/dist/esm/{chunk-KFLQI2CP.js → chunk-IHRLGR6J.js} +2 -2
  53. package/dist/esm/{chunk-QC2UOUUI.js → chunk-IPHKKZYE.js} +2 -2
  54. package/dist/esm/{chunk-FLO6QCGB.js → chunk-IQU6EELI.js} +3 -3
  55. package/dist/esm/{chunk-LBJEAC2S.js → chunk-IV4YJRVR.js} +2 -2
  56. package/dist/esm/{chunk-S5C5YRBS.js → chunk-IVBKTHDM.js} +2 -2
  57. package/dist/esm/{chunk-3QJED5UA.js → chunk-IY3GKGDZ.js} +2 -2
  58. package/dist/esm/{chunk-V7BPRUNP.js → chunk-JXVUTFQN.js} +2 -2
  59. package/dist/esm/{chunk-HSLP2HVS.js → chunk-K7BWSYVP.js} +2 -2
  60. package/dist/esm/{chunk-QUAPA57G.js → chunk-KJC32RWT.js} +1 -1
  61. package/dist/esm/{chunk-QUAPA57G.js.map → chunk-KJC32RWT.js.map} +2 -2
  62. package/dist/esm/{chunk-YS74SW5S.js → chunk-KJTEZVOF.js} +2 -2
  63. package/dist/esm/{chunk-OGXZHAQL.js → chunk-KXSMY4ZF.js} +2 -2
  64. package/dist/esm/{chunk-4QHJ7P3D.js → chunk-LJXP6K5Y.js} +2 -2
  65. package/dist/esm/{chunk-CSKZZOI2.js → chunk-N6Q3L64W.js} +2 -2
  66. package/dist/esm/{chunk-64GJCQFX.js → chunk-O2WPAUQN.js} +2 -2
  67. package/dist/esm/{chunk-27YQS6MM.js → chunk-OB3MHLQL.js} +2 -2
  68. package/dist/esm/chunk-OJSDBLP7.js +2 -0
  69. package/dist/esm/chunk-OJSDBLP7.js.map +7 -0
  70. package/dist/esm/chunk-OUSDYZDE.js +2 -0
  71. package/dist/esm/chunk-OUSDYZDE.js.map +7 -0
  72. package/dist/esm/{chunk-HF5WY5YE.js → chunk-PAEHH3WS.js} +2 -2
  73. package/dist/esm/{chunk-FHOCUZDR.js → chunk-PXUQEA77.js} +2 -2
  74. package/dist/esm/{chunk-GZG35274.js → chunk-R2MQMCND.js} +2 -2
  75. package/dist/esm/{chunk-JW3FRP5N.js → chunk-RAVFUI7W.js} +2 -2
  76. package/dist/esm/{chunk-DKRNQAU6.js → chunk-ROGC7K5N.js} +2 -2
  77. package/dist/esm/{chunk-NMXERIOL.js → chunk-RUOOCYK4.js} +2 -2
  78. package/dist/esm/{chunk-36A5BYCN.js → chunk-RUPET4E7.js} +2 -2
  79. package/dist/esm/chunk-RWN22S44.js +2 -0
  80. package/dist/esm/{chunk-LVPWM7CC.js → chunk-S3GZZXQ7.js} +2 -2
  81. package/dist/esm/{chunk-3IUDPNGP.js → chunk-SGUTNJUO.js} +2 -2
  82. package/dist/esm/{chunk-AVV55MFY.js → chunk-SIBSXKFF.js} +2 -2
  83. package/dist/esm/{chunk-QYU2HSGF.js → chunk-SQ4BU4GH.js} +2 -2
  84. package/dist/esm/chunk-SQZ5O7QS.js +2 -0
  85. package/dist/esm/chunk-SQZ5O7QS.js.map +7 -0
  86. package/dist/esm/{chunk-DSSF6SEA.js → chunk-SURYYF7I.js} +2 -2
  87. package/dist/esm/{chunk-DJJ6UGT2.js → chunk-TZ5MZQUB.js} +2 -2
  88. package/dist/esm/{chunk-4TBUUGR4.js → chunk-UE2OBZIS.js} +2 -2
  89. package/dist/esm/{chunk-WCQ2VRQU.js → chunk-UK3BFTI2.js} +2 -2
  90. package/dist/esm/chunk-UTHTSYSL.js +2 -0
  91. package/dist/esm/chunk-UTHTSYSL.js.map +7 -0
  92. package/dist/esm/{chunk-QINRF3V2.js → chunk-V3QVAXH3.js} +2 -2
  93. package/dist/esm/{chunk-AFOJ6OL3.js → chunk-VBAXORVV.js} +2 -2
  94. package/dist/esm/{chunk-IHK3H2OM.js → chunk-VUKTURU4.js} +2 -2
  95. package/dist/esm/{chunk-3O7A3XQ7.js → chunk-VV67KTKA.js} +2 -2
  96. package/dist/esm/{chunk-3LMC3CZW.js → chunk-WXBTPEFO.js} +2 -2
  97. package/dist/esm/{chunk-ADDXOZRI.js → chunk-YBS2IB7Z.js} +2 -2
  98. package/dist/esm/{chunk-7IFCYZHG.js → chunk-YDPCJO5G.js} +2 -2
  99. package/dist/esm/{chunk-EH7LNNGU.js → chunk-YLLCCUC7.js} +2 -2
  100. package/dist/esm/{chunk-E7ZXB36J.js → chunk-ZE2GWHPY.js} +2 -2
  101. package/dist/esm/{chunk-YAQBIO2B.js → chunk-ZQVYY7UT.js} +2 -2
  102. package/dist/esm/components/_internal/base-button.js +1 -1
  103. package/dist/esm/components/_internal/base-menu.utils.js +1 -1
  104. package/dist/esm/components/_internal/menu-context.js +1 -1
  105. package/dist/esm/components/_internal/pane-chrome.d.ts +47 -0
  106. package/dist/esm/components/_internal/pane-chrome.d.ts.map +1 -0
  107. package/dist/esm/components/_internal/pane-chrome.js +2 -0
  108. package/dist/esm/components/_internal/pane-chrome.js.map +7 -0
  109. package/dist/esm/components/_internal/shell-bottom.js +1 -1
  110. package/dist/esm/components/_internal/shell-inspector.js +1 -1
  111. package/dist/esm/components/_internal/shell-sidebar.d.ts +2 -1
  112. package/dist/esm/components/_internal/shell-sidebar.d.ts.map +1 -1
  113. package/dist/esm/components/_internal/shell-sidebar.js +1 -1
  114. package/dist/esm/components/alert-dialog.js +1 -1
  115. package/dist/esm/components/app-bar.js +1 -1
  116. package/dist/esm/components/avatar.js +1 -1
  117. package/dist/esm/components/badge.js +1 -1
  118. package/dist/esm/components/blockquote.js +1 -1
  119. package/dist/esm/components/blockquote.props.js +1 -1
  120. package/dist/esm/components/box.js +1 -1
  121. package/dist/esm/components/button.js +1 -1
  122. package/dist/esm/components/callout.js +1 -1
  123. package/dist/esm/components/card.js +1 -1
  124. package/dist/esm/components/chatbar.js +1 -1
  125. package/dist/esm/components/checkbox-cards.js +1 -1
  126. package/dist/esm/components/checkbox-group.js +1 -1
  127. package/dist/esm/components/checkbox.js +1 -1
  128. package/dist/esm/components/code.js +1 -1
  129. package/dist/esm/components/code.props.js +1 -1
  130. package/dist/esm/components/combobox.js +1 -1
  131. package/dist/esm/components/container.js +1 -1
  132. package/dist/esm/components/context-menu.js +1 -1
  133. package/dist/esm/components/data-list.js +1 -1
  134. package/dist/esm/components/dialog.js +1 -1
  135. package/dist/esm/components/dropdown-menu.js +1 -1
  136. package/dist/esm/components/flex.js +1 -1
  137. package/dist/esm/components/grid.js +1 -1
  138. package/dist/esm/components/heading.js +1 -1
  139. package/dist/esm/components/heading.props.js +1 -1
  140. package/dist/esm/components/icon-button.js +1 -1
  141. package/dist/esm/components/image.js +1 -1
  142. package/dist/esm/components/index.js +1 -1
  143. package/dist/esm/components/inset.js +1 -1
  144. package/dist/esm/components/kbd.js +1 -1
  145. package/dist/esm/components/link.js +1 -1
  146. package/dist/esm/components/message-scroller.js +1 -1
  147. package/dist/esm/components/navbar.js +1 -1
  148. package/dist/esm/components/notice.js +1 -1
  149. package/dist/esm/components/progress.js +1 -1
  150. package/dist/esm/components/radio-cards.js +1 -1
  151. package/dist/esm/components/radio-group.js +1 -1
  152. package/dist/esm/components/radio.js +1 -1
  153. package/dist/esm/components/schemas/index.js +1 -1
  154. package/dist/esm/components/scroll-area.js +1 -1
  155. package/dist/esm/components/section.js +1 -1
  156. package/dist/esm/components/segmented-control.js +1 -1
  157. package/dist/esm/components/select.js +1 -1
  158. package/dist/esm/components/separator.js +1 -1
  159. package/dist/esm/components/sheet.js +1 -1
  160. package/dist/esm/components/shell.d.ts +5 -1
  161. package/dist/esm/components/shell.d.ts.map +1 -1
  162. package/dist/esm/components/shell.js +1 -1
  163. package/dist/esm/components/sidebar.d.ts +4 -0
  164. package/dist/esm/components/sidebar.d.ts.map +1 -1
  165. package/dist/esm/components/sidebar.js +1 -1
  166. package/dist/esm/components/sidebar.props.d.ts +1 -0
  167. package/dist/esm/components/sidebar.props.d.ts.map +1 -1
  168. package/dist/esm/components/sidebar.props.js +1 -1
  169. package/dist/esm/components/skeleton.js +1 -1
  170. package/dist/esm/components/slider.js +1 -1
  171. package/dist/esm/components/spinner.js +1 -1
  172. package/dist/esm/components/switch.js +1 -1
  173. package/dist/esm/components/tab-nav.js +1 -1
  174. package/dist/esm/components/table.js +1 -1
  175. package/dist/esm/components/tabs.js +1 -1
  176. package/dist/esm/components/text-area.js +1 -1
  177. package/dist/esm/components/text-field.js +1 -1
  178. package/dist/esm/components/text.js +1 -1
  179. package/dist/esm/components/text.props.js +1 -1
  180. package/dist/esm/components/theme-panel.js +1 -1
  181. package/dist/esm/components/toggle-button.js +1 -1
  182. package/dist/esm/components/toggle-icon-button.js +1 -1
  183. package/dist/esm/components/toolbar.js +1 -1
  184. package/dist/esm/components/tooltip.js +1 -1
  185. package/dist/esm/components/user-card.js +1 -1
  186. package/dist/esm/components/virtual-menu.js +1 -1
  187. package/dist/esm/helpers/index.js +1 -1
  188. package/dist/esm/index.js +1 -1
  189. package/dist/esm/props/index.js +1 -1
  190. package/package.json +1 -1
  191. package/src/components/_internal/pane-chrome.tsx +90 -0
  192. package/src/components/_internal/shell-sidebar.tsx +13 -2
  193. package/src/components/notice.css +21 -13
  194. package/src/components/shell.css +6 -0
  195. package/src/components/shell.tsx +24 -3
  196. package/src/components/sidebar.css +185 -62
  197. package/src/components/sidebar.props.tsx +1 -0
  198. package/src/components/sidebar.tsx +19 -13
  199. package/styles.css +203 -86
  200. package/dist/esm/chunk-F4VC2WAU.js +0 -2
  201. package/dist/esm/chunk-F4VC2WAU.js.map +0 -7
  202. package/dist/esm/chunk-MJOXEUBT.js +0 -2
  203. package/dist/esm/chunk-MJOXEUBT.js.map +0 -7
  204. package/dist/esm/chunk-ROSWI2CL.js +0 -2
  205. package/dist/esm/chunk-ROSWI2CL.js.map +0 -7
  206. package/dist/esm/chunk-UYKEBIUD.js +0 -2
  207. /package/dist/esm/{chunk-GSBKR7G3.js.map → chunk-3DEZMXFF.js.map} +0 -0
  208. /package/dist/esm/{chunk-NSFH3PJ4.js.map → chunk-3HGHPAH4.js.map} +0 -0
  209. /package/dist/esm/{chunk-NFBZUINB.js.map → chunk-3M73GWN5.js.map} +0 -0
  210. /package/dist/esm/{chunk-EKYRZ54E.js.map → chunk-3Q3EOUGJ.js.map} +0 -0
  211. /package/dist/esm/{chunk-4ME6O27S.js.map → chunk-3UZHKW6I.js.map} +0 -0
  212. /package/dist/esm/{chunk-B2MGVXYL.js.map → chunk-45AMHIBO.js.map} +0 -0
  213. /package/dist/esm/{chunk-BUV4ZVEQ.js.map → chunk-4BPRLR6C.js.map} +0 -0
  214. /package/dist/esm/{chunk-3QCRDSYU.js.map → chunk-4D5LR4H6.js.map} +0 -0
  215. /package/dist/esm/{chunk-77NDG5HJ.js.map → chunk-4JNHUPIM.js.map} +0 -0
  216. /package/dist/esm/{chunk-4WSSOS2W.js.map → chunk-4WLDX7WZ.js.map} +0 -0
  217. /package/dist/esm/{chunk-53IGKC4E.js.map → chunk-5JS7ADWX.js.map} +0 -0
  218. /package/dist/esm/{chunk-AGNIFHOE.js.map → chunk-62CJL5G7.js.map} +0 -0
  219. /package/dist/esm/{chunk-GRZ77YNL.js.map → chunk-7B6CIVAF.js.map} +0 -0
  220. /package/dist/esm/{chunk-NTVCOEJE.js.map → chunk-BKES3M4Y.js.map} +0 -0
  221. /package/dist/esm/{chunk-DWB4PFIW.js.map → chunk-BOFVKXUV.js.map} +0 -0
  222. /package/dist/esm/{chunk-VX6ARMWP.js.map → chunk-C7UXUTUF.js.map} +0 -0
  223. /package/dist/esm/{chunk-GQDDJK4N.js.map → chunk-CIKDGYX3.js.map} +0 -0
  224. /package/dist/esm/{chunk-MNEUC27U.js.map → chunk-CL6P54QT.js.map} +0 -0
  225. /package/dist/esm/{chunk-LWIIIPSF.js.map → chunk-DJA5MCJA.js.map} +0 -0
  226. /package/dist/esm/{chunk-4YFJWXL2.js.map → chunk-EUSMN3K7.js.map} +0 -0
  227. /package/dist/esm/{chunk-AYAKS3DT.js.map → chunk-GLKN32J3.js.map} +0 -0
  228. /package/dist/esm/{chunk-COWZAUZR.js.map → chunk-GONBMSRL.js.map} +0 -0
  229. /package/dist/esm/{chunk-FKFCOVSW.js.map → chunk-H7LHGT44.js.map} +0 -0
  230. /package/dist/esm/{chunk-QUM2TSRR.js.map → chunk-HFVD7W6R.js.map} +0 -0
  231. /package/dist/esm/{chunk-P7FYIMYU.js.map → chunk-HIBX2EXV.js.map} +0 -0
  232. /package/dist/esm/{chunk-NLJIXW5S.js.map → chunk-HJLBVNQE.js.map} +0 -0
  233. /package/dist/esm/{chunk-5ADGYTG5.js.map → chunk-HNO4X33C.js.map} +0 -0
  234. /package/dist/esm/{chunk-KFLQI2CP.js.map → chunk-IHRLGR6J.js.map} +0 -0
  235. /package/dist/esm/{chunk-QC2UOUUI.js.map → chunk-IPHKKZYE.js.map} +0 -0
  236. /package/dist/esm/{chunk-FLO6QCGB.js.map → chunk-IQU6EELI.js.map} +0 -0
  237. /package/dist/esm/{chunk-LBJEAC2S.js.map → chunk-IV4YJRVR.js.map} +0 -0
  238. /package/dist/esm/{chunk-S5C5YRBS.js.map → chunk-IVBKTHDM.js.map} +0 -0
  239. /package/dist/esm/{chunk-3QJED5UA.js.map → chunk-IY3GKGDZ.js.map} +0 -0
  240. /package/dist/esm/{chunk-V7BPRUNP.js.map → chunk-JXVUTFQN.js.map} +0 -0
  241. /package/dist/esm/{chunk-HSLP2HVS.js.map → chunk-K7BWSYVP.js.map} +0 -0
  242. /package/dist/esm/{chunk-YS74SW5S.js.map → chunk-KJTEZVOF.js.map} +0 -0
  243. /package/dist/esm/{chunk-OGXZHAQL.js.map → chunk-KXSMY4ZF.js.map} +0 -0
  244. /package/dist/esm/{chunk-4QHJ7P3D.js.map → chunk-LJXP6K5Y.js.map} +0 -0
  245. /package/dist/esm/{chunk-CSKZZOI2.js.map → chunk-N6Q3L64W.js.map} +0 -0
  246. /package/dist/esm/{chunk-64GJCQFX.js.map → chunk-O2WPAUQN.js.map} +0 -0
  247. /package/dist/esm/{chunk-27YQS6MM.js.map → chunk-OB3MHLQL.js.map} +0 -0
  248. /package/dist/esm/{chunk-HF5WY5YE.js.map → chunk-PAEHH3WS.js.map} +0 -0
  249. /package/dist/esm/{chunk-FHOCUZDR.js.map → chunk-PXUQEA77.js.map} +0 -0
  250. /package/dist/esm/{chunk-GZG35274.js.map → chunk-R2MQMCND.js.map} +0 -0
  251. /package/dist/esm/{chunk-JW3FRP5N.js.map → chunk-RAVFUI7W.js.map} +0 -0
  252. /package/dist/esm/{chunk-DKRNQAU6.js.map → chunk-ROGC7K5N.js.map} +0 -0
  253. /package/dist/esm/{chunk-NMXERIOL.js.map → chunk-RUOOCYK4.js.map} +0 -0
  254. /package/dist/esm/{chunk-36A5BYCN.js.map → chunk-RUPET4E7.js.map} +0 -0
  255. /package/dist/esm/{chunk-UYKEBIUD.js.map → chunk-RWN22S44.js.map} +0 -0
  256. /package/dist/esm/{chunk-LVPWM7CC.js.map → chunk-S3GZZXQ7.js.map} +0 -0
  257. /package/dist/esm/{chunk-3IUDPNGP.js.map → chunk-SGUTNJUO.js.map} +0 -0
  258. /package/dist/esm/{chunk-AVV55MFY.js.map → chunk-SIBSXKFF.js.map} +0 -0
  259. /package/dist/esm/{chunk-QYU2HSGF.js.map → chunk-SQ4BU4GH.js.map} +0 -0
  260. /package/dist/esm/{chunk-DSSF6SEA.js.map → chunk-SURYYF7I.js.map} +0 -0
  261. /package/dist/esm/{chunk-DJJ6UGT2.js.map → chunk-TZ5MZQUB.js.map} +0 -0
  262. /package/dist/esm/{chunk-4TBUUGR4.js.map → chunk-UE2OBZIS.js.map} +0 -0
  263. /package/dist/esm/{chunk-WCQ2VRQU.js.map → chunk-UK3BFTI2.js.map} +0 -0
  264. /package/dist/esm/{chunk-QINRF3V2.js.map → chunk-V3QVAXH3.js.map} +0 -0
  265. /package/dist/esm/{chunk-AFOJ6OL3.js.map → chunk-VBAXORVV.js.map} +0 -0
  266. /package/dist/esm/{chunk-IHK3H2OM.js.map → chunk-VUKTURU4.js.map} +0 -0
  267. /package/dist/esm/{chunk-3O7A3XQ7.js.map → chunk-VV67KTKA.js.map} +0 -0
  268. /package/dist/esm/{chunk-3LMC3CZW.js.map → chunk-WXBTPEFO.js.map} +0 -0
  269. /package/dist/esm/{chunk-ADDXOZRI.js.map → chunk-YBS2IB7Z.js.map} +0 -0
  270. /package/dist/esm/{chunk-7IFCYZHG.js.map → chunk-YDPCJO5G.js.map} +0 -0
  271. /package/dist/esm/{chunk-EH7LNNGU.js.map → chunk-YLLCCUC7.js.map} +0 -0
  272. /package/dist/esm/{chunk-E7ZXB36J.js.map → chunk-ZE2GWHPY.js.map} +0 -0
  273. /package/dist/esm/{chunk-YAQBIO2B.js.map → chunk-ZQVYY7UT.js.map} +0 -0
@@ -0,0 +1,90 @@
1
+ 'use client';
2
+
3
+ /**
4
+ * A pane's own chrome: a header row, a scrolling region and a footer row.
5
+ *
6
+ * Shell.Sidebar and Shell.Panel render these as `Shell.PaneHeader`, `Shell.Scroll` and
7
+ * `Shell.PaneFooter`. The pane renders anything; with these parts it is the presentation, so
8
+ * Sidebar's menu parts work inside it with no `Sidebar.Root`. The index comes from the nearest
9
+ * Shell (`Shell.Root size`), or from a deprecated `Sidebar.Root` that still wraps them.
10
+ */
11
+
12
+ import * as React from 'react';
13
+ import classNames from 'classnames';
14
+
15
+ import { ScrollArea } from '../scroll-area.js';
16
+
17
+ type PaneSize = '1' | '2' | '3';
18
+
19
+ type SidebarVisualContextValue = {
20
+ size: PaneSize;
21
+ menuVariant: 'solid' | 'soft';
22
+ presentation?: 'thin' | 'expanded';
23
+ color?: string;
24
+ };
25
+
26
+ /** Size, menu highlight and presentation for the Sidebar parts. Internal: not exported. */
27
+ const SidebarVisualContext = React.createContext<SidebarVisualContextValue | null>(null);
28
+
29
+ function useSidebarVisual() {
30
+ return React.useContext(SidebarVisualContext);
31
+ }
32
+
33
+ /** The Shell's index. `Shell.Root size` sets it; panes hand it to their chrome. */
34
+ const ShellSizeContext = React.createContext<PaneSize>('2');
35
+
36
+ /**
37
+ * Gives a Shell pane's children the Shell's index, so Sidebar parts size themselves. In a Rail
38
+ * the rows are `thin`: icon tiles with a small label, sub-menus as dropdowns.
39
+ */
40
+ function PaneChromeScope({ children, presentation }: { children: React.ReactNode; presentation?: 'thin' }) {
41
+ const size = React.useContext(ShellSizeContext);
42
+ const value = React.useMemo<SidebarVisualContextValue>(() => ({ size, menuVariant: 'soft', presentation }), [size, presentation]);
43
+ return <SidebarVisualContext.Provider value={value}>{children}</SidebarVisualContext.Provider>;
44
+ }
45
+
46
+ function useChromeClasses() {
47
+ const visual = useSidebarVisual();
48
+ const size = visual?.size ?? '2';
49
+ const menuVariant = visual?.menuVariant ?? 'soft';
50
+ return ['rt-ShellPaneChrome', `rt-r-size-${size}`, `rt-menu-variant-${menuVariant}`];
51
+ }
52
+
53
+ interface PaneHeaderProps extends React.ComponentPropsWithoutRef<'div'> {}
54
+
55
+ /** A pane's header row, pinned above its scrolling region. */
56
+ const PaneHeader = React.forwardRef<HTMLDivElement, PaneHeaderProps>(({ className, ...props }, forwardedRef) => {
57
+ const chrome = useChromeClasses();
58
+ return <div {...props} ref={forwardedRef} className={classNames('rt-ShellPaneHeader', 'rt-SidebarHeader', 'rt-SidebarHeader--container', ...chrome, className)} />;
59
+ });
60
+ PaneHeader.displayName = 'Shell.PaneHeader';
61
+
62
+ interface PaneFooterProps extends React.ComponentPropsWithoutRef<'div'> {}
63
+
64
+ /** A pane's footer row, pinned below its scrolling region. */
65
+ const PaneFooter = React.forwardRef<HTMLDivElement, PaneFooterProps>(({ className, ...props }, forwardedRef) => {
66
+ const chrome = useChromeClasses();
67
+ return <div {...props} ref={forwardedRef} className={classNames('rt-ShellPaneFooter', 'rt-SidebarFooter', 'rt-SidebarFooter--container', ...chrome, className)} />;
68
+ });
69
+ PaneFooter.displayName = 'Shell.PaneFooter';
70
+
71
+ interface ScrollProps extends React.ComponentPropsWithoutRef<'div'> {}
72
+
73
+ /**
74
+ * The one region of a pane that scrolls; it takes the room the header and footer leave.
75
+ * It is not a landmark: for navigation, pass `role="navigation"` and an `aria-label`.
76
+ */
77
+ const Scroll = React.forwardRef<HTMLDivElement, ScrollProps>(({ className, children, ...props }, forwardedRef) => {
78
+ const chrome = useChromeClasses();
79
+ return (
80
+ <ScrollArea type="hover" className="rt-ShellScroll">
81
+ <div {...props} ref={forwardedRef} className={classNames('rt-BaseMenuContent', 'rt-SidebarContent', ...chrome, className)}>
82
+ <div className="rt-BaseMenuViewport">{children}</div>
83
+ </div>
84
+ </ScrollArea>
85
+ );
86
+ });
87
+ Scroll.displayName = 'Shell.Scroll';
88
+
89
+ export { SidebarVisualContext, useSidebarVisual, ShellSizeContext, PaneChromeScope, PaneHeader, PaneFooter, Scroll };
90
+ export type { SidebarVisualContextValue, PaneSize, PaneHeaderProps, PaneFooterProps, ScrollProps };
@@ -10,14 +10,17 @@ import { splitHandles, useResizablePane, type SizeChangeMeta } from './shell-res
10
10
  import { useInsetRegistration, warnOnce, type PaneValue } from './shell-store.js';
11
11
  import { navigationRest, startAnchoredGrowth, withoutRemovedPaneProps } from './shell-rest.js';
12
12
  import { readBreakpoint } from '../../hooks/use-breakpoint.js';
13
+ import { warnDeprecated } from '../../helpers/warn-deprecated.js';
14
+ import { PaneChromeScope } from './pane-chrome.js';
13
15
  import type { Breakpoint, CSSPropertiesWithVars, PaneBaseProps, Responsive, SidebarMode } from '../shell.types.js';
14
16
 
15
17
  type SidebarStateChangeMeta = { reason: 'init' | 'toggle' | 'responsive' | 'dismiss' };
16
18
  type SidebarControlledProps = { state: Responsive<SidebarMode>; onStateChange?: (state: SidebarMode, meta: SidebarStateChangeMeta) => void; defaultState?: never };
17
19
  type SidebarUncontrolledProps = { defaultState?: SidebarMode | Partial<Record<Breakpoint, SidebarMode>>; onStateChange?: (state: SidebarMode, meta: SidebarStateChangeMeta) => void; state?: never };
18
20
  type SidebarPublicProps = PaneBaseProps & {
21
+ /** @deprecated Thin mode is removed in 0.15.0. Use `Shell.Rail`. */
19
22
  thinSize?: number;
20
- /** `both` toggles through collapsed, thin and expanded; `single` between collapsed and the default. */
23
+ /** `both` (deprecated with thin mode; `single` is the 0.15.0 behaviour) toggles through collapsed, thin and expanded; `single` between collapsed and the default. */
21
24
  toggleModes?: 'both' | 'single';
22
25
  size?: number | string;
23
26
  defaultSize?: number | string;
@@ -109,6 +112,12 @@ export const Sidebar = React.forwardRef<HTMLDivElement, SidebarPublicProps>((pro
109
112
  });
110
113
  useInsetRegistration('sidebar', inset);
111
114
 
115
+ if (props.thinSize !== undefined || pane.value === 'thin') {
116
+ warnDeprecated(
117
+ "Shell.Sidebar's thin mode is deprecated and will be removed in 0.15.0. Put the rows in Shell.Rail, which draws them as tiles, and use toggleModes=\"single\" so the toggle skips thin.",
118
+ );
119
+ }
120
+
112
121
  React.useEffect(() => {
113
122
  if (snapPoints !== undefined || collapseThreshold !== undefined || paneId !== undefined || persistence !== undefined) {
114
123
  warnOnce('Shell.Sidebar: `snapPoints`, `collapseThreshold`, `paneId` and `persistence` are deprecated and are removed in 1.0. Keep the size in your own state with `size`/`onSizeChange`.');
@@ -184,7 +193,9 @@ export const Sidebar = React.forwardRef<HTMLDivElement, SidebarPublicProps>((pro
184
193
  } as CSSPropertiesWithVars
185
194
  }
186
195
  >
187
- <div className="rt-ShellSidebarContent">{content}</div>
196
+ <div className="rt-ShellSidebarContent">
197
+ <PaneChromeScope>{content}</PaneChromeScope>
198
+ </div>
188
199
  {handle}
189
200
  </div>
190
201
  );
@@ -6,18 +6,18 @@
6
6
  .rt-NoticeRoot {
7
7
  box-sizing: border-box;
8
8
  display: flex;
9
- align-items: center;
9
+ /* The icon and the actions sit on the first line, so a long message wraps under itself. */
10
+ align-items: flex-start;
10
11
  min-width: 0;
11
12
  color: var(--accent-ink);
12
13
  border-radius: var(--notice-radius);
13
14
 
15
+ /* An alpha fill, so the strip is a tint of whatever it sits on, as Callout was. */
14
16
  --material-blend: 100%;
15
- --material-alpha: 0;
16
- background-color: color-mix(in srgb, var(--accent-a3) calc(var(--material-alpha) * 100%), var(--accent-3) var(--material-blend));
17
+ background-color: color-mix(in srgb, var(--accent-a3), transparent calc(100% - var(--material-blend)));
17
18
 
18
19
  &:where([data-material='translucent']) {
19
20
  --material-blend: 60%;
20
- --material-alpha: 1;
21
21
  backdrop-filter: var(--backdrop-filter-components-enabled);
22
22
  }
23
23
 
@@ -28,7 +28,7 @@
28
28
 
29
29
  /* Gray is the resting category: its fill is one step quieter and its words are the ordinary ink. */
30
30
  .rt-NoticeRoot:where([data-accent-color='gray']) {
31
- background-color: color-mix(in srgb, var(--gray-a3) calc(var(--material-alpha) * 100%), var(--gray-3) var(--material-blend));
31
+ background-color: color-mix(in srgb, var(--gray-a3), transparent calc(100% - var(--material-blend)));
32
32
  color: var(--gray-12);
33
33
  }
34
34
 
@@ -36,6 +36,8 @@
36
36
  display: flex;
37
37
  flex: none;
38
38
  align-items: center;
39
+ /* One line tall, so the icon centres on the first line of the message. */
40
+ height: var(--notice-line);
39
41
 
40
42
  /* stylelint-disable-next-line selector-max-type */
41
43
  & :where(svg) {
@@ -55,6 +57,8 @@
55
57
  flex: none;
56
58
  align-items: center;
57
59
  gap: var(--space-1);
60
+ /* A button is taller than a line: it centres on the first line and does not grow the strip. */
61
+ margin-block: calc((var(--notice-line) - var(--notice-control)) / 2);
58
62
  }
59
63
 
60
64
  /* A question wraps its answers under the words when the strip is narrow. */
@@ -67,24 +71,28 @@
67
71
  }
68
72
 
69
73
  .rt-NoticeRoot {
74
+ /* Callout's spacing: an even inset on every side, wider steps between icon, words and actions. */
70
75
  &:where(.rt-r-size-1) {
71
76
  gap: var(--space-2);
72
- padding: var(--space-1) var(--space-1) var(--space-1) var(--space-3);
73
- min-height: calc(var(--space-6) + var(--space-2));
77
+ padding: var(--space-3);
78
+ --notice-line: var(--line-height-1);
79
+ --notice-control: var(--control-height-1);
74
80
  --notice-radius: var(--radius-surface-1);
75
81
  --notice-icon-size: var(--content-icon-size-1);
76
82
  }
77
83
  &:where(.rt-r-size-2) {
78
- gap: var(--space-2);
79
- padding: var(--space-1) var(--space-1) var(--space-1) var(--space-3);
80
- min-height: calc(var(--space-7) + var(--space-2));
84
+ gap: var(--space-3);
85
+ padding: var(--space-4);
86
+ --notice-line: var(--line-height-2);
87
+ --notice-control: var(--control-height-2);
81
88
  --notice-radius: var(--radius-surface-2);
82
89
  --notice-icon-size: var(--content-icon-size-2);
83
90
  }
84
91
  &:where(.rt-r-size-3) {
85
- gap: var(--space-3);
86
- padding: var(--space-2) var(--space-2) var(--space-2) var(--space-4);
87
- min-height: calc(var(--space-8) + var(--space-2));
92
+ gap: var(--space-4);
93
+ padding: var(--space-5);
94
+ --notice-line: var(--line-height-3);
95
+ --notice-control: var(--control-height-3);
88
96
  --notice-radius: var(--radius-surface-3);
89
97
  --notice-icon-size: var(--content-icon-size-3);
90
98
  }
@@ -207,6 +207,12 @@
207
207
  gap: var(--space-2);
208
208
  }
209
209
 
210
+ /* Shell.Scroll takes the room a pane's header and footer leave, and scrolls inside it. */
211
+ .rt-ShellScroll {
212
+ flex: 1;
213
+ min-height: 0;
214
+ }
215
+
210
216
  /* Closed is closed, in every posture: out of the layout, the tab order and the accessibility tree. */
211
217
  .rt-ShellPane[data-state='closed'] {
212
218
  display: none;
@@ -47,6 +47,8 @@ import { navigationRest, detailRest, toPaneValue, startAnchoredGrowth, withoutRe
47
47
  import { useShell, useSidebarMode } from './shell.context.js';
48
48
  import { useResponsivePresentation } from './shell.hooks.js';
49
49
  import { readBreakpoint } from '../hooks/use-breakpoint.js';
50
+ import { PaneChromeScope, PaneFooter, PaneHeader, Scroll, ShellSizeContext } from './_internal/pane-chrome.js';
51
+ import type { PaneSize } from './_internal/pane-chrome.js';
50
52
  import type { Breakpoint, CSSPropertiesWithVars, PaneBaseProps, PaneMode, PaneName, PaneTarget, ResponsivePresentation, SidebarMode } from './shell.types.js';
51
53
 
52
54
  /* ── Root ──────────────────────────────────────────────────────────────────── */
@@ -54,6 +56,8 @@ import type { Breakpoint, CSSPropertiesWithVars, PaneBaseProps, PaneMode, PaneNa
54
56
  export interface ShellRootProps extends React.ComponentPropsWithoutRef<'div'> {
55
57
  children: React.ReactNode;
56
58
  height?: 'full' | 'auto' | string | number;
59
+ /** The index the panes' chrome takes: `Shell.PaneHeader`, `Shell.Scroll`, `Shell.PaneFooter` and the Sidebar rows in them. Default `2`. */
60
+ size?: PaneSize;
57
61
  }
58
62
 
59
63
  /**
@@ -92,7 +96,7 @@ function triggerFor(doc: Document, id: string, within?: HTMLElement[]): HTMLElem
92
96
 
93
97
  type LivePane = { name: PaneName; id: string; el: HTMLElement };
94
98
 
95
- const Root = React.forwardRef<HTMLDivElement, ShellRootProps>(({ className, children, height = 'full', style, onKeyDown, onFocus, ...props }, ref) => {
99
+ const Root = React.forwardRef<HTMLDivElement, ShellRootProps>(({ className, children, height = 'full', size = '2', style, onKeyDown, onFocus, ...props }, ref) => {
96
100
  const [store] = React.useState(createShellStore);
97
101
  const subscribe = React.useCallback((listener: () => void) => subscribeShellStore(store, listener), [store]);
98
102
  // Subscribed for the re-render, not for a value: a pane opening or closing
@@ -354,6 +358,7 @@ const Root = React.forwardRef<HTMLDivElement, ShellRootProps>(({ className, chil
354
358
 
355
359
  return (
356
360
  <ShellStoreContext.Provider value={store}>
361
+ <ShellSizeContext.Provider value={size}>
357
362
  <ShellInsetContext.Provider value={insetContext}>
358
363
  {/* The Root is not a widget: it hears Escape bubbling up from the panes,
359
364
  after their own handlers, to close the overlays. */}
@@ -376,6 +381,7 @@ const Root = React.forwardRef<HTMLDivElement, ShellRootProps>(({ className, chil
376
381
  <div className="rt-ShellScrim" aria-hidden onClick={closeOverlays} />
377
382
  </div>
378
383
  </ShellInsetContext.Provider>
384
+ </ShellSizeContext.Provider>
379
385
  </ShellStoreContext.Provider>
380
386
  );
381
387
  });
@@ -480,12 +486,22 @@ const Rail = React.forwardRef<HTMLDivElement, RailProps>((props, ref) => {
480
486
  tabIndex={pane.overlaying ? -1 : domProps.tabIndex}
481
487
  style={{ ...style, '--rail-size': `${expandedSize}px` } as CSSPropertiesWithVars}
482
488
  >
483
- <div className="rt-ShellRailContent">{children}</div>
489
+ <RailContent>{children}</RailContent>
484
490
  </div>
485
491
  );
486
492
  });
487
493
  Rail.displayName = 'Shell.Rail';
488
494
 
495
+ /** The Rail's content carries the index, so the thin row styles can size themselves by it. */
496
+ function RailContent({ children }: { children: React.ReactNode }) {
497
+ const size = React.useContext(ShellSizeContext);
498
+ return (
499
+ <div className={classNames('rt-ShellRailContent', `rt-r-size-${size}`)}>
500
+ <PaneChromeScope presentation="thin">{children}</PaneChromeScope>
501
+ </div>
502
+ );
503
+ }
504
+
489
505
  /* ── Panel ─────────────────────────────────────────────────────────────────── */
490
506
 
491
507
  type HandleComponent = React.ForwardRefExoticComponent<React.ComponentPropsWithoutRef<'div'> & React.RefAttributes<HTMLDivElement>>;
@@ -640,7 +656,9 @@ const Panel = React.forwardRef<HTMLDivElement, PanelPublicProps>((props, ref) =>
640
656
  } as CSSPropertiesWithVars
641
657
  }
642
658
  >
643
- <div className="rt-ShellPanelContent">{content}</div>
659
+ <div className="rt-ShellPanelContent">
660
+ <PaneChromeScope>{content}</PaneChromeScope>
661
+ </div>
644
662
  {handle}
645
663
  </div>
646
664
  );
@@ -750,6 +768,9 @@ export {
750
768
  Inspector,
751
769
  Bottom,
752
770
  Trigger,
771
+ PaneHeader,
772
+ PaneFooter,
773
+ Scroll,
753
774
  useShell,
754
775
  useSidebarMode,
755
776
  useResponsivePresentation,