@womp/kookie-ui 0.14.0 → 0.14.1
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.
- package/components.css +185 -71
- package/dist/cjs/components/_internal/pane-chrome.d.ts +47 -0
- package/dist/cjs/components/_internal/pane-chrome.d.ts.map +1 -0
- package/dist/cjs/components/_internal/pane-chrome.js +2 -0
- package/dist/cjs/components/_internal/pane-chrome.js.map +7 -0
- package/dist/cjs/components/_internal/shell-sidebar.d.ts +2 -1
- package/dist/cjs/components/_internal/shell-sidebar.d.ts.map +1 -1
- package/dist/cjs/components/_internal/shell-sidebar.js +1 -1
- package/dist/cjs/components/_internal/shell-sidebar.js.map +4 -4
- package/dist/cjs/components/index.js +5 -5
- package/dist/cjs/components/index.js.map +4 -4
- package/dist/cjs/components/shell.d.ts +5 -1
- package/dist/cjs/components/shell.d.ts.map +1 -1
- package/dist/cjs/components/shell.js +1 -1
- package/dist/cjs/components/shell.js.map +4 -4
- package/dist/cjs/components/sidebar.d.ts +4 -0
- package/dist/cjs/components/sidebar.d.ts.map +1 -1
- package/dist/cjs/components/sidebar.js +1 -1
- package/dist/cjs/components/sidebar.js.map +4 -4
- package/dist/cjs/components/sidebar.props.d.ts +1 -0
- package/dist/cjs/components/sidebar.props.d.ts.map +1 -1
- package/dist/cjs/components/sidebar.props.js.map +2 -2
- package/dist/cjs/index.js +7 -7
- package/dist/cjs/index.js.map +4 -4
- package/dist/esm/{chunk-GSBKR7G3.js → chunk-3DEZMXFF.js} +2 -2
- package/dist/esm/{chunk-NSFH3PJ4.js → chunk-3HGHPAH4.js} +2 -2
- package/dist/esm/{chunk-NFBZUINB.js → chunk-3M73GWN5.js} +2 -2
- package/dist/esm/{chunk-EKYRZ54E.js → chunk-3Q3EOUGJ.js} +2 -2
- package/dist/esm/{chunk-4ME6O27S.js → chunk-3UZHKW6I.js} +2 -2
- package/dist/esm/{chunk-B2MGVXYL.js → chunk-45AMHIBO.js} +2 -2
- package/dist/esm/{chunk-BUV4ZVEQ.js → chunk-4BPRLR6C.js} +2 -2
- package/dist/esm/{chunk-3QCRDSYU.js → chunk-4D5LR4H6.js} +2 -2
- package/dist/esm/{chunk-77NDG5HJ.js → chunk-4JNHUPIM.js} +2 -2
- package/dist/esm/{chunk-4WSSOS2W.js → chunk-4WLDX7WZ.js} +2 -2
- package/dist/esm/{chunk-53IGKC4E.js → chunk-5JS7ADWX.js} +2 -2
- package/dist/esm/{chunk-AGNIFHOE.js → chunk-62CJL5G7.js} +2 -2
- package/dist/esm/{chunk-GRZ77YNL.js → chunk-7B6CIVAF.js} +2 -2
- package/dist/esm/{chunk-NTVCOEJE.js → chunk-BKES3M4Y.js} +2 -2
- package/dist/esm/{chunk-DWB4PFIW.js → chunk-BOFVKXUV.js} +2 -2
- package/dist/esm/{chunk-VX6ARMWP.js → chunk-C7UXUTUF.js} +2 -2
- package/dist/esm/{chunk-GQDDJK4N.js → chunk-CIKDGYX3.js} +2 -2
- package/dist/esm/{chunk-MNEUC27U.js → chunk-CL6P54QT.js} +2 -2
- package/dist/esm/{chunk-LWIIIPSF.js → chunk-DJA5MCJA.js} +2 -2
- package/dist/esm/{chunk-4YFJWXL2.js → chunk-EUSMN3K7.js} +2 -2
- package/dist/esm/{chunk-AYAKS3DT.js → chunk-GLKN32J3.js} +2 -2
- package/dist/esm/{chunk-COWZAUZR.js → chunk-GONBMSRL.js} +2 -2
- package/dist/esm/{chunk-FKFCOVSW.js → chunk-H7LHGT44.js} +2 -2
- package/dist/esm/{chunk-QUM2TSRR.js → chunk-HFVD7W6R.js} +2 -2
- package/dist/esm/{chunk-P7FYIMYU.js → chunk-HIBX2EXV.js} +2 -2
- package/dist/esm/{chunk-NLJIXW5S.js → chunk-HJLBVNQE.js} +2 -2
- package/dist/esm/{chunk-5ADGYTG5.js → chunk-HNO4X33C.js} +2 -2
- package/dist/esm/{chunk-KFLQI2CP.js → chunk-IHRLGR6J.js} +2 -2
- package/dist/esm/{chunk-QC2UOUUI.js → chunk-IPHKKZYE.js} +2 -2
- package/dist/esm/{chunk-FLO6QCGB.js → chunk-IQU6EELI.js} +3 -3
- package/dist/esm/{chunk-LBJEAC2S.js → chunk-IV4YJRVR.js} +2 -2
- package/dist/esm/{chunk-S5C5YRBS.js → chunk-IVBKTHDM.js} +2 -2
- package/dist/esm/{chunk-3QJED5UA.js → chunk-IY3GKGDZ.js} +2 -2
- package/dist/esm/{chunk-V7BPRUNP.js → chunk-JXVUTFQN.js} +2 -2
- package/dist/esm/{chunk-HSLP2HVS.js → chunk-K7BWSYVP.js} +2 -2
- package/dist/esm/{chunk-QUAPA57G.js → chunk-KJC32RWT.js} +1 -1
- package/dist/esm/{chunk-QUAPA57G.js.map → chunk-KJC32RWT.js.map} +2 -2
- package/dist/esm/{chunk-YS74SW5S.js → chunk-KJTEZVOF.js} +2 -2
- package/dist/esm/{chunk-OGXZHAQL.js → chunk-KXSMY4ZF.js} +2 -2
- package/dist/esm/{chunk-4QHJ7P3D.js → chunk-LJXP6K5Y.js} +2 -2
- package/dist/esm/{chunk-CSKZZOI2.js → chunk-N6Q3L64W.js} +2 -2
- package/dist/esm/{chunk-64GJCQFX.js → chunk-O2WPAUQN.js} +2 -2
- package/dist/esm/{chunk-27YQS6MM.js → chunk-OB3MHLQL.js} +2 -2
- package/dist/esm/chunk-OJSDBLP7.js +2 -0
- package/dist/esm/chunk-OJSDBLP7.js.map +7 -0
- package/dist/esm/chunk-OUSDYZDE.js +2 -0
- package/dist/esm/chunk-OUSDYZDE.js.map +7 -0
- package/dist/esm/{chunk-HF5WY5YE.js → chunk-PAEHH3WS.js} +2 -2
- package/dist/esm/{chunk-FHOCUZDR.js → chunk-PXUQEA77.js} +2 -2
- package/dist/esm/{chunk-GZG35274.js → chunk-R2MQMCND.js} +2 -2
- package/dist/esm/{chunk-JW3FRP5N.js → chunk-RAVFUI7W.js} +2 -2
- package/dist/esm/{chunk-DKRNQAU6.js → chunk-ROGC7K5N.js} +2 -2
- package/dist/esm/{chunk-NMXERIOL.js → chunk-RUOOCYK4.js} +2 -2
- package/dist/esm/{chunk-36A5BYCN.js → chunk-RUPET4E7.js} +2 -2
- package/dist/esm/chunk-RWN22S44.js +2 -0
- package/dist/esm/{chunk-LVPWM7CC.js → chunk-S3GZZXQ7.js} +2 -2
- package/dist/esm/{chunk-3IUDPNGP.js → chunk-SGUTNJUO.js} +2 -2
- package/dist/esm/{chunk-AVV55MFY.js → chunk-SIBSXKFF.js} +2 -2
- package/dist/esm/{chunk-QYU2HSGF.js → chunk-SQ4BU4GH.js} +2 -2
- package/dist/esm/chunk-SQZ5O7QS.js +2 -0
- package/dist/esm/chunk-SQZ5O7QS.js.map +7 -0
- package/dist/esm/{chunk-DSSF6SEA.js → chunk-SURYYF7I.js} +2 -2
- package/dist/esm/{chunk-DJJ6UGT2.js → chunk-TZ5MZQUB.js} +2 -2
- package/dist/esm/{chunk-4TBUUGR4.js → chunk-UE2OBZIS.js} +2 -2
- package/dist/esm/{chunk-WCQ2VRQU.js → chunk-UK3BFTI2.js} +2 -2
- package/dist/esm/chunk-UTHTSYSL.js +2 -0
- package/dist/esm/chunk-UTHTSYSL.js.map +7 -0
- package/dist/esm/{chunk-QINRF3V2.js → chunk-V3QVAXH3.js} +2 -2
- package/dist/esm/{chunk-AFOJ6OL3.js → chunk-VBAXORVV.js} +2 -2
- package/dist/esm/{chunk-IHK3H2OM.js → chunk-VUKTURU4.js} +2 -2
- package/dist/esm/{chunk-3O7A3XQ7.js → chunk-VV67KTKA.js} +2 -2
- package/dist/esm/{chunk-3LMC3CZW.js → chunk-WXBTPEFO.js} +2 -2
- package/dist/esm/{chunk-ADDXOZRI.js → chunk-YBS2IB7Z.js} +2 -2
- package/dist/esm/{chunk-7IFCYZHG.js → chunk-YDPCJO5G.js} +2 -2
- package/dist/esm/{chunk-EH7LNNGU.js → chunk-YLLCCUC7.js} +2 -2
- package/dist/esm/{chunk-E7ZXB36J.js → chunk-ZE2GWHPY.js} +2 -2
- package/dist/esm/{chunk-YAQBIO2B.js → chunk-ZQVYY7UT.js} +2 -2
- package/dist/esm/components/_internal/base-button.js +1 -1
- package/dist/esm/components/_internal/base-menu.utils.js +1 -1
- package/dist/esm/components/_internal/menu-context.js +1 -1
- package/dist/esm/components/_internal/pane-chrome.d.ts +47 -0
- package/dist/esm/components/_internal/pane-chrome.d.ts.map +1 -0
- package/dist/esm/components/_internal/pane-chrome.js +2 -0
- package/dist/esm/components/_internal/pane-chrome.js.map +7 -0
- package/dist/esm/components/_internal/shell-bottom.js +1 -1
- package/dist/esm/components/_internal/shell-inspector.js +1 -1
- package/dist/esm/components/_internal/shell-sidebar.d.ts +2 -1
- package/dist/esm/components/_internal/shell-sidebar.d.ts.map +1 -1
- package/dist/esm/components/_internal/shell-sidebar.js +1 -1
- package/dist/esm/components/alert-dialog.js +1 -1
- package/dist/esm/components/app-bar.js +1 -1
- package/dist/esm/components/avatar.js +1 -1
- package/dist/esm/components/badge.js +1 -1
- package/dist/esm/components/blockquote.js +1 -1
- package/dist/esm/components/blockquote.props.js +1 -1
- package/dist/esm/components/box.js +1 -1
- package/dist/esm/components/button.js +1 -1
- package/dist/esm/components/callout.js +1 -1
- package/dist/esm/components/card.js +1 -1
- package/dist/esm/components/chatbar.js +1 -1
- package/dist/esm/components/checkbox-cards.js +1 -1
- package/dist/esm/components/checkbox-group.js +1 -1
- package/dist/esm/components/checkbox.js +1 -1
- package/dist/esm/components/code.js +1 -1
- package/dist/esm/components/code.props.js +1 -1
- package/dist/esm/components/combobox.js +1 -1
- package/dist/esm/components/container.js +1 -1
- package/dist/esm/components/context-menu.js +1 -1
- package/dist/esm/components/data-list.js +1 -1
- package/dist/esm/components/dialog.js +1 -1
- package/dist/esm/components/dropdown-menu.js +1 -1
- package/dist/esm/components/flex.js +1 -1
- package/dist/esm/components/grid.js +1 -1
- package/dist/esm/components/heading.js +1 -1
- package/dist/esm/components/heading.props.js +1 -1
- package/dist/esm/components/icon-button.js +1 -1
- package/dist/esm/components/image.js +1 -1
- package/dist/esm/components/index.js +1 -1
- package/dist/esm/components/inset.js +1 -1
- package/dist/esm/components/kbd.js +1 -1
- package/dist/esm/components/link.js +1 -1
- package/dist/esm/components/message-scroller.js +1 -1
- package/dist/esm/components/navbar.js +1 -1
- package/dist/esm/components/notice.js +1 -1
- package/dist/esm/components/progress.js +1 -1
- package/dist/esm/components/radio-cards.js +1 -1
- package/dist/esm/components/radio-group.js +1 -1
- package/dist/esm/components/radio.js +1 -1
- package/dist/esm/components/schemas/index.js +1 -1
- package/dist/esm/components/scroll-area.js +1 -1
- package/dist/esm/components/section.js +1 -1
- package/dist/esm/components/segmented-control.js +1 -1
- package/dist/esm/components/select.js +1 -1
- package/dist/esm/components/separator.js +1 -1
- package/dist/esm/components/sheet.js +1 -1
- package/dist/esm/components/shell.d.ts +5 -1
- package/dist/esm/components/shell.d.ts.map +1 -1
- package/dist/esm/components/shell.js +1 -1
- package/dist/esm/components/sidebar.d.ts +4 -0
- package/dist/esm/components/sidebar.d.ts.map +1 -1
- package/dist/esm/components/sidebar.js +1 -1
- package/dist/esm/components/sidebar.props.d.ts +1 -0
- package/dist/esm/components/sidebar.props.d.ts.map +1 -1
- package/dist/esm/components/sidebar.props.js +1 -1
- package/dist/esm/components/skeleton.js +1 -1
- package/dist/esm/components/slider.js +1 -1
- package/dist/esm/components/spinner.js +1 -1
- package/dist/esm/components/switch.js +1 -1
- package/dist/esm/components/tab-nav.js +1 -1
- package/dist/esm/components/table.js +1 -1
- package/dist/esm/components/tabs.js +1 -1
- package/dist/esm/components/text-area.js +1 -1
- package/dist/esm/components/text-field.js +1 -1
- package/dist/esm/components/text.js +1 -1
- package/dist/esm/components/text.props.js +1 -1
- package/dist/esm/components/theme-panel.js +1 -1
- package/dist/esm/components/toggle-button.js +1 -1
- package/dist/esm/components/toggle-icon-button.js +1 -1
- package/dist/esm/components/toolbar.js +1 -1
- package/dist/esm/components/tooltip.js +1 -1
- package/dist/esm/components/user-card.js +1 -1
- package/dist/esm/components/virtual-menu.js +1 -1
- package/dist/esm/helpers/index.js +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/props/index.js +1 -1
- package/package.json +1 -1
- package/src/components/_internal/pane-chrome.tsx +90 -0
- package/src/components/_internal/shell-sidebar.tsx +13 -2
- package/src/components/shell.css +6 -0
- package/src/components/shell.tsx +24 -3
- package/src/components/sidebar.css +185 -62
- package/src/components/sidebar.props.tsx +1 -0
- package/src/components/sidebar.tsx +19 -13
- package/styles.css +185 -71
- package/dist/esm/chunk-F4VC2WAU.js +0 -2
- package/dist/esm/chunk-F4VC2WAU.js.map +0 -7
- package/dist/esm/chunk-MJOXEUBT.js +0 -2
- package/dist/esm/chunk-MJOXEUBT.js.map +0 -7
- package/dist/esm/chunk-ROSWI2CL.js +0 -2
- package/dist/esm/chunk-ROSWI2CL.js.map +0 -7
- package/dist/esm/chunk-UYKEBIUD.js +0 -2
- /package/dist/esm/{chunk-GSBKR7G3.js.map → chunk-3DEZMXFF.js.map} +0 -0
- /package/dist/esm/{chunk-NSFH3PJ4.js.map → chunk-3HGHPAH4.js.map} +0 -0
- /package/dist/esm/{chunk-NFBZUINB.js.map → chunk-3M73GWN5.js.map} +0 -0
- /package/dist/esm/{chunk-EKYRZ54E.js.map → chunk-3Q3EOUGJ.js.map} +0 -0
- /package/dist/esm/{chunk-4ME6O27S.js.map → chunk-3UZHKW6I.js.map} +0 -0
- /package/dist/esm/{chunk-B2MGVXYL.js.map → chunk-45AMHIBO.js.map} +0 -0
- /package/dist/esm/{chunk-BUV4ZVEQ.js.map → chunk-4BPRLR6C.js.map} +0 -0
- /package/dist/esm/{chunk-3QCRDSYU.js.map → chunk-4D5LR4H6.js.map} +0 -0
- /package/dist/esm/{chunk-77NDG5HJ.js.map → chunk-4JNHUPIM.js.map} +0 -0
- /package/dist/esm/{chunk-4WSSOS2W.js.map → chunk-4WLDX7WZ.js.map} +0 -0
- /package/dist/esm/{chunk-53IGKC4E.js.map → chunk-5JS7ADWX.js.map} +0 -0
- /package/dist/esm/{chunk-AGNIFHOE.js.map → chunk-62CJL5G7.js.map} +0 -0
- /package/dist/esm/{chunk-GRZ77YNL.js.map → chunk-7B6CIVAF.js.map} +0 -0
- /package/dist/esm/{chunk-NTVCOEJE.js.map → chunk-BKES3M4Y.js.map} +0 -0
- /package/dist/esm/{chunk-DWB4PFIW.js.map → chunk-BOFVKXUV.js.map} +0 -0
- /package/dist/esm/{chunk-VX6ARMWP.js.map → chunk-C7UXUTUF.js.map} +0 -0
- /package/dist/esm/{chunk-GQDDJK4N.js.map → chunk-CIKDGYX3.js.map} +0 -0
- /package/dist/esm/{chunk-MNEUC27U.js.map → chunk-CL6P54QT.js.map} +0 -0
- /package/dist/esm/{chunk-LWIIIPSF.js.map → chunk-DJA5MCJA.js.map} +0 -0
- /package/dist/esm/{chunk-4YFJWXL2.js.map → chunk-EUSMN3K7.js.map} +0 -0
- /package/dist/esm/{chunk-AYAKS3DT.js.map → chunk-GLKN32J3.js.map} +0 -0
- /package/dist/esm/{chunk-COWZAUZR.js.map → chunk-GONBMSRL.js.map} +0 -0
- /package/dist/esm/{chunk-FKFCOVSW.js.map → chunk-H7LHGT44.js.map} +0 -0
- /package/dist/esm/{chunk-QUM2TSRR.js.map → chunk-HFVD7W6R.js.map} +0 -0
- /package/dist/esm/{chunk-P7FYIMYU.js.map → chunk-HIBX2EXV.js.map} +0 -0
- /package/dist/esm/{chunk-NLJIXW5S.js.map → chunk-HJLBVNQE.js.map} +0 -0
- /package/dist/esm/{chunk-5ADGYTG5.js.map → chunk-HNO4X33C.js.map} +0 -0
- /package/dist/esm/{chunk-KFLQI2CP.js.map → chunk-IHRLGR6J.js.map} +0 -0
- /package/dist/esm/{chunk-QC2UOUUI.js.map → chunk-IPHKKZYE.js.map} +0 -0
- /package/dist/esm/{chunk-FLO6QCGB.js.map → chunk-IQU6EELI.js.map} +0 -0
- /package/dist/esm/{chunk-LBJEAC2S.js.map → chunk-IV4YJRVR.js.map} +0 -0
- /package/dist/esm/{chunk-S5C5YRBS.js.map → chunk-IVBKTHDM.js.map} +0 -0
- /package/dist/esm/{chunk-3QJED5UA.js.map → chunk-IY3GKGDZ.js.map} +0 -0
- /package/dist/esm/{chunk-V7BPRUNP.js.map → chunk-JXVUTFQN.js.map} +0 -0
- /package/dist/esm/{chunk-HSLP2HVS.js.map → chunk-K7BWSYVP.js.map} +0 -0
- /package/dist/esm/{chunk-YS74SW5S.js.map → chunk-KJTEZVOF.js.map} +0 -0
- /package/dist/esm/{chunk-OGXZHAQL.js.map → chunk-KXSMY4ZF.js.map} +0 -0
- /package/dist/esm/{chunk-4QHJ7P3D.js.map → chunk-LJXP6K5Y.js.map} +0 -0
- /package/dist/esm/{chunk-CSKZZOI2.js.map → chunk-N6Q3L64W.js.map} +0 -0
- /package/dist/esm/{chunk-64GJCQFX.js.map → chunk-O2WPAUQN.js.map} +0 -0
- /package/dist/esm/{chunk-27YQS6MM.js.map → chunk-OB3MHLQL.js.map} +0 -0
- /package/dist/esm/{chunk-HF5WY5YE.js.map → chunk-PAEHH3WS.js.map} +0 -0
- /package/dist/esm/{chunk-FHOCUZDR.js.map → chunk-PXUQEA77.js.map} +0 -0
- /package/dist/esm/{chunk-GZG35274.js.map → chunk-R2MQMCND.js.map} +0 -0
- /package/dist/esm/{chunk-JW3FRP5N.js.map → chunk-RAVFUI7W.js.map} +0 -0
- /package/dist/esm/{chunk-DKRNQAU6.js.map → chunk-ROGC7K5N.js.map} +0 -0
- /package/dist/esm/{chunk-NMXERIOL.js.map → chunk-RUOOCYK4.js.map} +0 -0
- /package/dist/esm/{chunk-36A5BYCN.js.map → chunk-RUPET4E7.js.map} +0 -0
- /package/dist/esm/{chunk-UYKEBIUD.js.map → chunk-RWN22S44.js.map} +0 -0
- /package/dist/esm/{chunk-LVPWM7CC.js.map → chunk-S3GZZXQ7.js.map} +0 -0
- /package/dist/esm/{chunk-3IUDPNGP.js.map → chunk-SGUTNJUO.js.map} +0 -0
- /package/dist/esm/{chunk-AVV55MFY.js.map → chunk-SIBSXKFF.js.map} +0 -0
- /package/dist/esm/{chunk-QYU2HSGF.js.map → chunk-SQ4BU4GH.js.map} +0 -0
- /package/dist/esm/{chunk-DSSF6SEA.js.map → chunk-SURYYF7I.js.map} +0 -0
- /package/dist/esm/{chunk-DJJ6UGT2.js.map → chunk-TZ5MZQUB.js.map} +0 -0
- /package/dist/esm/{chunk-4TBUUGR4.js.map → chunk-UE2OBZIS.js.map} +0 -0
- /package/dist/esm/{chunk-WCQ2VRQU.js.map → chunk-UK3BFTI2.js.map} +0 -0
- /package/dist/esm/{chunk-QINRF3V2.js.map → chunk-V3QVAXH3.js.map} +0 -0
- /package/dist/esm/{chunk-AFOJ6OL3.js.map → chunk-VBAXORVV.js.map} +0 -0
- /package/dist/esm/{chunk-IHK3H2OM.js.map → chunk-VUKTURU4.js.map} +0 -0
- /package/dist/esm/{chunk-3O7A3XQ7.js.map → chunk-VV67KTKA.js.map} +0 -0
- /package/dist/esm/{chunk-3LMC3CZW.js.map → chunk-WXBTPEFO.js.map} +0 -0
- /package/dist/esm/{chunk-ADDXOZRI.js.map → chunk-YBS2IB7Z.js.map} +0 -0
- /package/dist/esm/{chunk-7IFCYZHG.js.map → chunk-YDPCJO5G.js.map} +0 -0
- /package/dist/esm/{chunk-EH7LNNGU.js.map → chunk-YLLCCUC7.js.map} +0 -0
- /package/dist/esm/{chunk-E7ZXB36J.js.map → chunk-ZE2GWHPY.js.map} +0 -0
- /package/dist/esm/{chunk-YAQBIO2B.js.map → chunk-ZQVYY7UT.js.map} +0 -0
|
@@ -19,16 +19,21 @@
|
|
|
19
19
|
*/
|
|
20
20
|
|
|
21
21
|
/* Rail Layout Styling */
|
|
22
|
-
|
|
22
|
+
/* A Rail's header and footer pad like its rows, and their buttons are tiles too. */
|
|
23
|
+
:where(.rt-ShellRailContent .rt-ShellPaneChrome) {
|
|
24
|
+
--sidebar-base-padding: var(--space-2) !important;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
:where(:is(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarContent, .rt-ShellRailContent :is(.rt-SidebarContent, .rt-ShellPaneHeader, .rt-ShellPaneFooter))) {
|
|
23
28
|
padding: var(--space-2);
|
|
24
29
|
}
|
|
25
30
|
|
|
26
|
-
:where(.rt-SidebarContainer[data-presentation='thin'] .rt-BaseMenuViewport) {
|
|
31
|
+
:where(:is(.rt-SidebarContainer[data-presentation='thin'], .rt-ShellRailContent) .rt-BaseMenuViewport) {
|
|
27
32
|
padding: var(--space-2) !important;
|
|
28
33
|
}
|
|
29
34
|
|
|
30
35
|
/* Enforce vertical stack and compact typography for all buttons in thin mode */
|
|
31
|
-
:where(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarContent) :where(.rt-SidebarMenuButton, .rt-SidebarMenuSubTrigger) {
|
|
36
|
+
:where(:is(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarContent, .rt-ShellRailContent :is(.rt-SidebarContent, .rt-ShellPaneHeader, .rt-ShellPaneFooter))) :where(.rt-SidebarMenuButton, .rt-SidebarMenuSubTrigger) {
|
|
32
37
|
justify-content: center !important;
|
|
33
38
|
align-items: center !important;
|
|
34
39
|
flex-direction: column !important;
|
|
@@ -44,23 +49,23 @@
|
|
|
44
49
|
}
|
|
45
50
|
|
|
46
51
|
/* Size-specific vertical padding for thin mode buttons */
|
|
47
|
-
:where(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarContent.rt-r-size-1) :where(.rt-SidebarMenuButton, .rt-SidebarMenuSubTrigger) {
|
|
52
|
+
:where(:is(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarContent.rt-r-size-1, .rt-ShellRailContent :is(.rt-SidebarContent, .rt-ShellPaneHeader, .rt-ShellPaneFooter).rt-r-size-1)) :where(.rt-SidebarMenuButton, .rt-SidebarMenuSubTrigger) {
|
|
48
53
|
padding-top: var(--space-1) !important;
|
|
49
54
|
padding-bottom: var(--space-1) !important;
|
|
50
55
|
}
|
|
51
56
|
|
|
52
|
-
:where(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarContent.rt-r-size-2) :where(.rt-SidebarMenuButton, .rt-SidebarMenuSubTrigger) {
|
|
57
|
+
:where(:is(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarContent.rt-r-size-2, .rt-ShellRailContent :is(.rt-SidebarContent, .rt-ShellPaneHeader, .rt-ShellPaneFooter).rt-r-size-2)) :where(.rt-SidebarMenuButton, .rt-SidebarMenuSubTrigger) {
|
|
53
58
|
padding-top: var(--space-1) !important;
|
|
54
59
|
padding-bottom: var(--space-1) !important;
|
|
55
60
|
}
|
|
56
61
|
|
|
57
|
-
:where(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarContent.rt-r-size-3) :where(.rt-SidebarMenuButton, .rt-SidebarMenuSubTrigger) {
|
|
62
|
+
:where(:is(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarContent.rt-r-size-3, .rt-ShellRailContent :is(.rt-SidebarContent, .rt-ShellPaneHeader, .rt-ShellPaneFooter).rt-r-size-3)) :where(.rt-SidebarMenuButton, .rt-SidebarMenuSubTrigger) {
|
|
58
63
|
padding-top: var(--space-2) !important;
|
|
59
64
|
padding-bottom: var(--space-2) !important;
|
|
60
65
|
}
|
|
61
66
|
|
|
62
67
|
/* Consolidated thin mode size blocks */
|
|
63
|
-
:where(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarContent.rt-r-size-1) {
|
|
68
|
+
:where(:is(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarContent.rt-r-size-1, .rt-ShellRailContent :is(.rt-SidebarContent, .rt-ShellPaneHeader, .rt-ShellPaneFooter).rt-r-size-1)) {
|
|
64
69
|
/* Horizontal padding tokens to free space for text */
|
|
65
70
|
--base-menu-item-padding-left: var(--space-1) !important;
|
|
66
71
|
--base-menu-item-padding-right: var(--space-1) !important;
|
|
@@ -99,7 +104,7 @@
|
|
|
99
104
|
}
|
|
100
105
|
}
|
|
101
106
|
|
|
102
|
-
:where(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarContent.rt-r-size-2) {
|
|
107
|
+
:where(:is(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarContent.rt-r-size-2, .rt-ShellRailContent :is(.rt-SidebarContent, .rt-ShellPaneHeader, .rt-ShellPaneFooter).rt-r-size-2)) {
|
|
103
108
|
--base-menu-item-padding-left: var(--space-1) !important;
|
|
104
109
|
--base-menu-item-padding-right: var(--space-1) !important;
|
|
105
110
|
--base-menu-item-padding-y: var(--space-2) !important;
|
|
@@ -133,7 +138,7 @@
|
|
|
133
138
|
}
|
|
134
139
|
}
|
|
135
140
|
|
|
136
|
-
:where(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarContent.rt-r-size-3) {
|
|
141
|
+
:where(:is(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarContent.rt-r-size-3, .rt-ShellRailContent :is(.rt-SidebarContent, .rt-ShellPaneHeader, .rt-ShellPaneFooter).rt-r-size-3)) {
|
|
137
142
|
--base-menu-item-padding-left: var(--space-1) !important;
|
|
138
143
|
--base-menu-item-padding-right: var(--space-1) !important;
|
|
139
144
|
--base-menu-item-padding-y: var(--space-2) !important;
|
|
@@ -168,7 +173,7 @@
|
|
|
168
173
|
}
|
|
169
174
|
|
|
170
175
|
/* Ellipsis on root child content when using asChild (e.g., Next.js Link) */
|
|
171
|
-
:where(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarMenuButton > *) {
|
|
176
|
+
:where(:is(.rt-SidebarContainer[data-presentation='thin'], .rt-ShellRailContent) .rt-SidebarMenuButton > *) {
|
|
172
177
|
display: flex;
|
|
173
178
|
flex-direction: column;
|
|
174
179
|
align-items: center;
|
|
@@ -180,7 +185,7 @@
|
|
|
180
185
|
}
|
|
181
186
|
|
|
182
187
|
/* Ensure submenu trigger asChild containers also stack vertically */
|
|
183
|
-
:where(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarMenuSubTrigger > *) {
|
|
188
|
+
:where(:is(.rt-SidebarContainer[data-presentation='thin'], .rt-ShellRailContent) .rt-SidebarMenuSubTrigger > *) {
|
|
184
189
|
display: flex;
|
|
185
190
|
flex-direction: column;
|
|
186
191
|
align-items: center;
|
|
@@ -189,12 +194,12 @@
|
|
|
189
194
|
}
|
|
190
195
|
|
|
191
196
|
/* stylelint-disable-next-line selector-max-type */
|
|
192
|
-
:where(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarMenuButton > * > svg) {
|
|
197
|
+
:where(:is(.rt-SidebarContainer[data-presentation='thin'], .rt-ShellRailContent) .rt-SidebarMenuButton > * > svg) {
|
|
193
198
|
flex-shrink: 0;
|
|
194
199
|
}
|
|
195
200
|
|
|
196
201
|
/* Ensure submenu anchors also truncate */
|
|
197
|
-
:where(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarMenuSubContent .rt-SidebarMenuButton > *) {
|
|
202
|
+
:where(:is(.rt-SidebarContainer[data-presentation='thin'], .rt-ShellRailContent) .rt-SidebarMenuSubContent .rt-SidebarMenuButton > *) {
|
|
198
203
|
display: flex;
|
|
199
204
|
flex-direction: column;
|
|
200
205
|
align-items: center;
|
|
@@ -207,13 +212,13 @@
|
|
|
207
212
|
|
|
208
213
|
/* Ensure icons remain visible at their token sizes in thin mode */
|
|
209
214
|
/* stylelint-disable-next-line selector-max-type */
|
|
210
|
-
:where(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarMenuButton) :where(svg) {
|
|
215
|
+
:where(:is(.rt-SidebarContainer[data-presentation='thin'], .rt-ShellRailContent) .rt-SidebarMenuButton) :where(svg) {
|
|
211
216
|
/* svg size is already controlled by tokens; this ensures layout stability */
|
|
212
217
|
display: block;
|
|
213
218
|
}
|
|
214
219
|
|
|
215
220
|
/* Icon wrapper for thin mode - receives hover/active background */
|
|
216
|
-
:where(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarMenuIconWrapper) {
|
|
221
|
+
:where(:is(.rt-SidebarContainer[data-presentation='thin'], .rt-ShellRailContent) .rt-SidebarMenuIconWrapper) {
|
|
217
222
|
display: flex;
|
|
218
223
|
align-items: center;
|
|
219
224
|
justify-content: center;
|
|
@@ -228,25 +233,25 @@
|
|
|
228
233
|
|
|
229
234
|
/* Size-specific icon wrapper padding */
|
|
230
235
|
/* stylelint-disable-next-line selector-max-specificity */
|
|
231
|
-
.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarContent.rt-r-size-1 .rt-SidebarMenuIconWrapper {
|
|
236
|
+
:is(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarContent.rt-r-size-1, .rt-ShellRailContent :is(.rt-SidebarContent, .rt-ShellPaneHeader, .rt-ShellPaneFooter).rt-r-size-1) .rt-SidebarMenuIconWrapper {
|
|
232
237
|
padding: var(--space-2) var(--space-2);
|
|
233
238
|
border-radius: var(--radius-pill-1);
|
|
234
239
|
}
|
|
235
240
|
|
|
236
241
|
/* stylelint-disable-next-line selector-max-specificity */
|
|
237
|
-
.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarContent.rt-r-size-2 .rt-SidebarMenuIconWrapper {
|
|
242
|
+
:is(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarContent.rt-r-size-2, .rt-ShellRailContent :is(.rt-SidebarContent, .rt-ShellPaneHeader, .rt-ShellPaneFooter).rt-r-size-2) .rt-SidebarMenuIconWrapper {
|
|
238
243
|
padding: var(--space-2);
|
|
239
244
|
border-radius: var(--radius-pill-2);
|
|
240
245
|
}
|
|
241
246
|
|
|
242
247
|
/* stylelint-disable-next-line selector-max-specificity */
|
|
243
|
-
.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarContent.rt-r-size-3 .rt-SidebarMenuIconWrapper {
|
|
248
|
+
:is(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarContent.rt-r-size-3, .rt-ShellRailContent :is(.rt-SidebarContent, .rt-ShellPaneHeader, .rt-ShellPaneFooter).rt-r-size-3) .rt-SidebarMenuIconWrapper {
|
|
244
249
|
padding: var(--space-3);
|
|
245
250
|
border-radius: var(--radius-pill-3);
|
|
246
251
|
}
|
|
247
252
|
|
|
248
253
|
/* Label styling in thin mode - outside the background area */
|
|
249
|
-
:where(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarMenuButton .rt-SidebarMenuLabel) {
|
|
254
|
+
:where(:is(.rt-SidebarContainer[data-presentation='thin'], .rt-ShellRailContent) .rt-SidebarMenuButton .rt-SidebarMenuLabel) {
|
|
250
255
|
display: block;
|
|
251
256
|
max-width: 100%;
|
|
252
257
|
min-width: 0;
|
|
@@ -260,100 +265,100 @@
|
|
|
260
265
|
}
|
|
261
266
|
|
|
262
267
|
/* Active label gets accent color and medium weight */
|
|
263
|
-
:where(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarMenuButton[data-active] .rt-SidebarMenuLabel) {
|
|
268
|
+
:where(:is(.rt-SidebarContainer[data-presentation='thin'], .rt-ShellRailContent) .rt-SidebarMenuButton[data-active] .rt-SidebarMenuLabel) {
|
|
264
269
|
color: var(--accent-ink);
|
|
265
270
|
font-weight: var(--font-weight-medium);
|
|
266
271
|
}
|
|
267
272
|
|
|
268
273
|
/* Highlighted label gets slightly darker color */
|
|
269
|
-
:where(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarMenuButton:where([data-highlighted]):not([data-disabled]) .rt-SidebarMenuLabel) {
|
|
274
|
+
:where(:is(.rt-SidebarContainer[data-presentation='thin'], .rt-ShellRailContent) .rt-SidebarMenuButton:where([data-highlighted]):not([data-disabled]) .rt-SidebarMenuLabel) {
|
|
270
275
|
color: var(--accent-ink);
|
|
271
276
|
}
|
|
272
277
|
|
|
273
278
|
@media (hover: hover) {
|
|
274
|
-
:where(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarMenuButton:where(:hover):not([data-disabled]) .rt-SidebarMenuLabel) {
|
|
279
|
+
:where(:is(.rt-SidebarContainer[data-presentation='thin'], .rt-ShellRailContent) .rt-SidebarMenuButton:where(:hover):not([data-disabled]) .rt-SidebarMenuLabel) {
|
|
275
280
|
color: var(--accent-ink);
|
|
276
281
|
}
|
|
277
282
|
}
|
|
278
283
|
|
|
279
284
|
/* Remove background from button itself in thin mode - styles are on icon wrapper */
|
|
280
|
-
:where(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarMenuButton:where([data-highlighted]):not([data-disabled])), :where(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarMenuButton[data-active]) {
|
|
285
|
+
:where(:is(.rt-SidebarContainer[data-presentation='thin'], .rt-ShellRailContent) .rt-SidebarMenuButton:where([data-highlighted]):not([data-disabled])), :where(:is(.rt-SidebarContainer[data-presentation='thin'], .rt-ShellRailContent) .rt-SidebarMenuButton[data-active]) {
|
|
281
286
|
background-color: transparent !important;
|
|
282
287
|
}
|
|
283
288
|
|
|
284
289
|
@media (hover: hover) {
|
|
285
|
-
:where(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarMenuButton:where(:hover):not([data-disabled])) {
|
|
290
|
+
:where(:is(.rt-SidebarContainer[data-presentation='thin'], .rt-ShellRailContent) .rt-SidebarMenuButton:where(:hover):not([data-disabled])) {
|
|
286
291
|
background-color: transparent !important;
|
|
287
292
|
}
|
|
288
293
|
}
|
|
289
294
|
|
|
290
295
|
/* Soft variant icon wrapper states in thin mode */
|
|
291
|
-
:where(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarContent.rt-menu-variant-soft .rt-SidebarMenuButton:where([data-highlighted]):not([data-disabled]) .rt-SidebarMenuIconWrapper) {
|
|
296
|
+
:where(:is(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarContent, .rt-ShellRailContent :is(.rt-SidebarContent, .rt-ShellPaneHeader, .rt-ShellPaneFooter)).rt-menu-variant-soft .rt-SidebarMenuButton:where([data-highlighted]):not([data-disabled]) .rt-SidebarMenuIconWrapper) {
|
|
292
297
|
background-color: var(--accent-4);
|
|
293
298
|
}
|
|
294
299
|
|
|
295
300
|
@media (hover: hover) {
|
|
296
|
-
:where(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarContent.rt-menu-variant-soft .rt-SidebarMenuButton:where(:hover):not([data-disabled]) .rt-SidebarMenuIconWrapper) {
|
|
301
|
+
:where(:is(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarContent, .rt-ShellRailContent :is(.rt-SidebarContent, .rt-ShellPaneHeader, .rt-ShellPaneFooter)).rt-menu-variant-soft .rt-SidebarMenuButton:where(:hover):not([data-disabled]) .rt-SidebarMenuIconWrapper) {
|
|
297
302
|
background-color: var(--accent-4);
|
|
298
303
|
}
|
|
299
304
|
}
|
|
300
305
|
|
|
301
|
-
:where(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarContent.rt-menu-variant-soft .rt-SidebarMenuButton[data-active] .rt-SidebarMenuIconWrapper) {
|
|
306
|
+
:where(:is(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarContent, .rt-ShellRailContent :is(.rt-SidebarContent, .rt-ShellPaneHeader, .rt-ShellPaneFooter)).rt-menu-variant-soft .rt-SidebarMenuButton[data-active] .rt-SidebarMenuIconWrapper) {
|
|
302
307
|
background-color: var(--accent-3);
|
|
303
308
|
}
|
|
304
309
|
|
|
305
310
|
/* Translucent panel support for soft variant */
|
|
306
|
-
:where([data-panel-background='translucent']) :where(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarContent.rt-menu-variant-soft .rt-SidebarMenuButton:where([data-highlighted]):not([data-disabled]) .rt-SidebarMenuIconWrapper) {
|
|
311
|
+
:where([data-panel-background='translucent']) :where(:is(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarContent, .rt-ShellRailContent :is(.rt-SidebarContent, .rt-ShellPaneHeader, .rt-ShellPaneFooter)).rt-menu-variant-soft .rt-SidebarMenuButton:where([data-highlighted]):not([data-disabled]) .rt-SidebarMenuIconWrapper) {
|
|
307
312
|
background-color: var(--accent-a4);
|
|
308
313
|
}
|
|
309
314
|
|
|
310
315
|
@media (hover: hover) {
|
|
311
|
-
:where([data-panel-background='translucent']) :where(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarContent.rt-menu-variant-soft .rt-SidebarMenuButton:where(:hover):not([data-disabled]) .rt-SidebarMenuIconWrapper) {
|
|
316
|
+
:where([data-panel-background='translucent']) :where(:is(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarContent, .rt-ShellRailContent :is(.rt-SidebarContent, .rt-ShellPaneHeader, .rt-ShellPaneFooter)).rt-menu-variant-soft .rt-SidebarMenuButton:where(:hover):not([data-disabled]) .rt-SidebarMenuIconWrapper) {
|
|
312
317
|
background-color: var(--accent-a4);
|
|
313
318
|
}
|
|
314
319
|
}
|
|
315
320
|
|
|
316
|
-
:where([data-panel-background='translucent']) :where(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarContent.rt-menu-variant-soft .rt-SidebarMenuButton[data-active] .rt-SidebarMenuIconWrapper) {
|
|
321
|
+
:where([data-panel-background='translucent']) :where(:is(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarContent, .rt-ShellRailContent :is(.rt-SidebarContent, .rt-ShellPaneHeader, .rt-ShellPaneFooter)).rt-menu-variant-soft .rt-SidebarMenuButton[data-active] .rt-SidebarMenuIconWrapper) {
|
|
317
322
|
background-color: var(--accent-a3);
|
|
318
323
|
}
|
|
319
324
|
|
|
320
325
|
/* Solid variant icon wrapper states in thin mode */
|
|
321
|
-
:where(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarContent.rt-menu-variant-solid .rt-SidebarMenuButton:where([data-highlighted]):not([data-disabled]) .rt-SidebarMenuIconWrapper) {
|
|
326
|
+
:where(:is(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarContent, .rt-ShellRailContent :is(.rt-SidebarContent, .rt-ShellPaneHeader, .rt-ShellPaneFooter)).rt-menu-variant-solid .rt-SidebarMenuButton:where([data-highlighted]):not([data-disabled]) .rt-SidebarMenuIconWrapper) {
|
|
322
327
|
background-color: var(--accent-solid);
|
|
323
328
|
color: var(--accent-solid-contrast);
|
|
324
329
|
}
|
|
325
330
|
|
|
326
331
|
@media (hover: hover) {
|
|
327
|
-
:where(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarContent.rt-menu-variant-solid .rt-SidebarMenuButton:where(:hover):not([data-disabled]) .rt-SidebarMenuIconWrapper) {
|
|
332
|
+
:where(:is(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarContent, .rt-ShellRailContent :is(.rt-SidebarContent, .rt-ShellPaneHeader, .rt-ShellPaneFooter)).rt-menu-variant-solid .rt-SidebarMenuButton:where(:hover):not([data-disabled]) .rt-SidebarMenuIconWrapper) {
|
|
328
333
|
background-color: var(--accent-solid);
|
|
329
334
|
color: var(--accent-solid-contrast);
|
|
330
335
|
}
|
|
331
336
|
}
|
|
332
337
|
|
|
333
|
-
:where(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarContent.rt-menu-variant-solid .rt-SidebarMenuButton[data-active] .rt-SidebarMenuIconWrapper) {
|
|
338
|
+
:where(:is(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarContent, .rt-ShellRailContent :is(.rt-SidebarContent, .rt-ShellPaneHeader, .rt-ShellPaneFooter)).rt-menu-variant-solid .rt-SidebarMenuButton[data-active] .rt-SidebarMenuIconWrapper) {
|
|
334
339
|
background-color: var(--accent-solid);
|
|
335
340
|
color: var(--accent-solid-contrast);
|
|
336
341
|
}
|
|
337
342
|
|
|
338
|
-
:where(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarMenuBadge),
|
|
339
|
-
:where(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarMenuShortcut),
|
|
340
|
-
:where(.rt-SidebarContainer[data-presentation='thin'] .rt-Badge),
|
|
341
|
-
:where(.rt-SidebarContainer[data-presentation='thin'] .rt-Kbd) {
|
|
343
|
+
:where(:is(.rt-SidebarContainer[data-presentation='thin'], .rt-ShellRailContent) .rt-SidebarMenuBadge),
|
|
344
|
+
:where(:is(.rt-SidebarContainer[data-presentation='thin'], .rt-ShellRailContent) .rt-SidebarMenuShortcut),
|
|
345
|
+
:where(:is(.rt-SidebarContainer[data-presentation='thin'], .rt-ShellRailContent) .rt-Badge),
|
|
346
|
+
:where(:is(.rt-SidebarContainer[data-presentation='thin'], .rt-ShellRailContent) .rt-Kbd) {
|
|
342
347
|
display: none !important;
|
|
343
348
|
}
|
|
344
349
|
|
|
345
|
-
:where(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarGroupLabel) {
|
|
350
|
+
:where(:is(.rt-SidebarContainer[data-presentation='thin'], .rt-ShellRailContent) .rt-SidebarGroupLabel) {
|
|
346
351
|
display: none !important;
|
|
347
352
|
}
|
|
348
353
|
|
|
349
354
|
/* Hide submenu chevrons and flatten sublists in rail */
|
|
350
|
-
:where(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarMenuSubTriggerIcon),
|
|
351
|
-
:where(.rt-SidebarContainer[data-presentation='thin'] .rt-BaseMenuSubTriggerIcon) {
|
|
355
|
+
:where(:is(.rt-SidebarContainer[data-presentation='thin'], .rt-ShellRailContent) .rt-SidebarMenuSubTriggerIcon),
|
|
356
|
+
:where(:is(.rt-SidebarContainer[data-presentation='thin'], .rt-ShellRailContent) .rt-BaseMenuSubTriggerIcon) {
|
|
352
357
|
display: none !important;
|
|
353
358
|
}
|
|
354
359
|
|
|
355
|
-
:where(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarMenuSubList),
|
|
356
|
-
:where(.rt-SidebarContainer[data-presentation='thin'] .rt-BaseMenuSubList) {
|
|
360
|
+
:where(:is(.rt-SidebarContainer[data-presentation='thin'], .rt-ShellRailContent) .rt-SidebarMenuSubList),
|
|
361
|
+
:where(:is(.rt-SidebarContainer[data-presentation='thin'], .rt-ShellRailContent) .rt-BaseMenuSubList) {
|
|
357
362
|
padding-left: 0 !important;
|
|
358
363
|
margin-left: 0 !important;
|
|
359
364
|
border-left: 0 !important;
|
|
@@ -364,14 +369,14 @@
|
|
|
364
369
|
}
|
|
365
370
|
|
|
366
371
|
/* Also remove any decorative rule on the submenu list in thin mode */
|
|
367
|
-
:where(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarMenuSubList::before),
|
|
368
|
-
:where(.rt-SidebarContainer[data-presentation='thin'] .rt-BaseMenuSubList::before) {
|
|
372
|
+
:where(:is(.rt-SidebarContainer[data-presentation='thin'], .rt-ShellRailContent) .rt-SidebarMenuSubList::before),
|
|
373
|
+
:where(:is(.rt-SidebarContainer[data-presentation='thin'], .rt-ShellRailContent) .rt-BaseMenuSubList::before) {
|
|
369
374
|
content: none !important;
|
|
370
375
|
display: none !important;
|
|
371
376
|
}
|
|
372
377
|
|
|
373
378
|
/* Ensure the Accordion content wrapper doesn't add indentation */
|
|
374
|
-
:where(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarMenuSubContent) {
|
|
379
|
+
:where(:is(.rt-SidebarContainer[data-presentation='thin'], .rt-ShellRailContent) .rt-SidebarMenuSubContent) {
|
|
375
380
|
padding-left: 0 !important;
|
|
376
381
|
margin-left: 0 !important;
|
|
377
382
|
border-left: 0 !important;
|
|
@@ -386,7 +391,7 @@
|
|
|
386
391
|
/* (intentionally no ::before) */
|
|
387
392
|
|
|
388
393
|
/* Ensure submenu buttons also truncate */
|
|
389
|
-
:where(.rt-SidebarContainer[data-presentation='thin'] .rt-SidebarMenuSubContent .rt-SidebarMenuButton) {
|
|
394
|
+
:where(:is(.rt-SidebarContainer[data-presentation='thin'], .rt-ShellRailContent) .rt-SidebarMenuSubContent .rt-SidebarMenuButton) {
|
|
390
395
|
white-space: nowrap;
|
|
391
396
|
overflow: hidden;
|
|
392
397
|
text-overflow: ellipsis;
|
|
@@ -659,6 +664,17 @@
|
|
|
659
664
|
}
|
|
660
665
|
}
|
|
661
666
|
|
|
667
|
+
/* In a Shell pane, the header, footer and search pad by the rows' own inset, so every row
|
|
668
|
+
and every control in the pane starts on one line. */
|
|
669
|
+
.rt-ShellPaneChrome {
|
|
670
|
+
&:where(.rt-r-size-1) {
|
|
671
|
+
--sidebar-base-padding: var(--space-2);
|
|
672
|
+
}
|
|
673
|
+
&:where(.rt-r-size-2, .rt-r-size-3) {
|
|
674
|
+
--sidebar-base-padding: var(--space-3);
|
|
675
|
+
}
|
|
676
|
+
}
|
|
677
|
+
|
|
662
678
|
.rt-SidebarHeader:where(.rt-r-size-1),
|
|
663
679
|
.rt-SidebarFooter:where(.rt-r-size-1) {
|
|
664
680
|
--base-menu-content-padding: var(--space-2);
|
|
@@ -1032,6 +1048,113 @@
|
|
|
1032
1048
|
}
|
|
1033
1049
|
}
|
|
1034
1050
|
|
|
1051
|
+
/* Rows use the soft highlight. When the system asks for more contrast, they take the solid one. */
|
|
1052
|
+
@media (prefers-contrast: more) {
|
|
1053
|
+
.rt-SidebarHeader:where(.rt-menu-variant-soft),
|
|
1054
|
+
.rt-SidebarContent:where(.rt-menu-variant-soft),
|
|
1055
|
+
.rt-SidebarFooter:where(.rt-menu-variant-soft) {
|
|
1056
|
+
/* Sub-trigger open state - match base menu */
|
|
1057
|
+
& :where(.rt-SidebarMenuSubTrigger[data-state='open']) {
|
|
1058
|
+
/* Base state: solid gray for solid panels */
|
|
1059
|
+
background-color: var(--gray-3);
|
|
1060
|
+
|
|
1061
|
+
/* Theme-level translucent override */
|
|
1062
|
+
:where([data-panel-background='translucent']) & {
|
|
1063
|
+
background-color: var(--gray-a3);
|
|
1064
|
+
}
|
|
1065
|
+
|
|
1066
|
+
/* Component-level overrides (higher specificity) */
|
|
1067
|
+
&:where([data-panel-background='solid']) {
|
|
1068
|
+
background-color: var(--gray-3);
|
|
1069
|
+
backdrop-filter: none;
|
|
1070
|
+
--backdrop-filter-components: none;
|
|
1071
|
+
}
|
|
1072
|
+
|
|
1073
|
+
&:where([data-panel-background='translucent']) {
|
|
1074
|
+
background-color: var(--gray-a3);
|
|
1075
|
+
}
|
|
1076
|
+
}
|
|
1077
|
+
|
|
1078
|
+
/* Hover/highlighted state for solid variant - EXACT match to base menu */
|
|
1079
|
+
& :where(.rt-SidebarMenuButton:where([data-highlighted]):not([data-disabled])) {
|
|
1080
|
+
background-color: var(--accent-solid);
|
|
1081
|
+
color: var(--accent-solid-contrast);
|
|
1082
|
+
|
|
1083
|
+
& :where(.rt-BaseMenuSubTriggerIcon) {
|
|
1084
|
+
color: var(--accent-solid-contrast);
|
|
1085
|
+
}
|
|
1086
|
+
|
|
1087
|
+
/* Force all text elements to inherit hover color, including those with color="gray" */
|
|
1088
|
+
& :where(.rt-Text) {
|
|
1089
|
+
color: inherit !important;
|
|
1090
|
+
}
|
|
1091
|
+
|
|
1092
|
+
/* Also target any element with data-accent-color="gray" */
|
|
1093
|
+
& :where([data-accent-color='gray']:not(.rt-Badge)) {
|
|
1094
|
+
color: inherit !important;
|
|
1095
|
+
}
|
|
1096
|
+
|
|
1097
|
+
/* FIX: Ensure badges maintain their own styling and don't inherit hover colors */
|
|
1098
|
+
& :where(.rt-Badge) {
|
|
1099
|
+
color: var(--accent-solid-badge-contrast) !important;
|
|
1100
|
+
background-color: var(--accent-solid-badge) !important;
|
|
1101
|
+
}
|
|
1102
|
+
}
|
|
1103
|
+
|
|
1104
|
+
|
|
1105
|
+
/* Active navigation state for solid variant - same as highlighted */
|
|
1106
|
+
& :where(.rt-SidebarMenuButton[data-active]) {
|
|
1107
|
+
background-color: var(--accent-solid);
|
|
1108
|
+
color: var(--accent-solid-contrast);
|
|
1109
|
+
font-weight: var(--font-weight-medium);
|
|
1110
|
+
|
|
1111
|
+
/* Force all text elements to inherit active color */
|
|
1112
|
+
& :where(.rt-Text) {
|
|
1113
|
+
color: inherit !important;
|
|
1114
|
+
}
|
|
1115
|
+
|
|
1116
|
+
& :where([data-accent-color='gray']:not(.rt-Badge)) {
|
|
1117
|
+
color: inherit !important;
|
|
1118
|
+
}
|
|
1119
|
+
|
|
1120
|
+
/* FIX: Ensure badges maintain their own styling and don't inherit active colors */
|
|
1121
|
+
& :where(.rt-Badge) {
|
|
1122
|
+
color: var(--accent-solid-badge-contrast) !important;
|
|
1123
|
+
background-color: var(--accent-solid-badge) !important;
|
|
1124
|
+
}
|
|
1125
|
+
}
|
|
1126
|
+
}
|
|
1127
|
+
}
|
|
1128
|
+
|
|
1129
|
+
@media (prefers-contrast: more) and (hover: hover) {
|
|
1130
|
+
.rt-SidebarHeader:where(.rt-menu-variant-soft) :where(.rt-SidebarMenuButton:where(:hover):not([data-disabled])),
|
|
1131
|
+
.rt-SidebarContent:where(.rt-menu-variant-soft) :where(.rt-SidebarMenuButton:where(:hover):not([data-disabled])),
|
|
1132
|
+
.rt-SidebarFooter:where(.rt-menu-variant-soft) :where(.rt-SidebarMenuButton:where(:hover):not([data-disabled])) {
|
|
1133
|
+
background-color: var(--accent-solid);
|
|
1134
|
+
color: var(--accent-solid-contrast);
|
|
1135
|
+
|
|
1136
|
+
& :where(.rt-BaseMenuSubTriggerIcon) {
|
|
1137
|
+
color: var(--accent-solid-contrast);
|
|
1138
|
+
}
|
|
1139
|
+
|
|
1140
|
+
/* Force all text elements to inherit hover color, including those with color="gray" */
|
|
1141
|
+
& :where(.rt-Text) {
|
|
1142
|
+
color: inherit !important;
|
|
1143
|
+
}
|
|
1144
|
+
|
|
1145
|
+
/* Also target any element with data-accent-color="gray" */
|
|
1146
|
+
& :where([data-accent-color='gray']:not(.rt-Badge)) {
|
|
1147
|
+
color: inherit !important;
|
|
1148
|
+
}
|
|
1149
|
+
|
|
1150
|
+
/* FIX: Ensure badges maintain their own styling and don't inherit hover colors */
|
|
1151
|
+
& :where(.rt-Badge) {
|
|
1152
|
+
color: var(--accent-solid-badge-contrast) !important;
|
|
1153
|
+
background-color: var(--accent-solid-badge) !important;
|
|
1154
|
+
}
|
|
1155
|
+
}
|
|
1156
|
+
}
|
|
1157
|
+
|
|
1035
1158
|
/* Removed old icon-only collapsed mode rules in favor of Shell rail mode */
|
|
1036
1159
|
|
|
1037
1160
|
/* ===== Sidebar Search ===== */
|
|
@@ -1042,7 +1165,7 @@
|
|
|
1042
1165
|
}
|
|
1043
1166
|
|
|
1044
1167
|
/* Thin mode: compact padding to match content area */
|
|
1045
|
-
:where(.rt-SidebarContainer[data-presentation='thin']) .rt-SidebarSearch {
|
|
1168
|
+
:where(:is(.rt-SidebarContainer[data-presentation='thin'], .rt-ShellRailContent)) .rt-SidebarSearch {
|
|
1046
1169
|
padding: var(--space-2);
|
|
1047
1170
|
}
|
|
1048
1171
|
|
|
@@ -1072,7 +1195,7 @@
|
|
|
1072
1195
|
|
|
1073
1196
|
/* Thin mode: search trigger layout (mirrors Content-scoped menu button rules) */
|
|
1074
1197
|
/* Uses !important to override base .rt-SidebarMenuButton specificity, matching the existing thin mode pattern */
|
|
1075
|
-
:where(.rt-SidebarContainer[data-presentation='thin']) :where(.rt-SidebarSearchTrigger) {
|
|
1198
|
+
:where(:is(.rt-SidebarContainer[data-presentation='thin'], .rt-ShellRailContent)) :where(.rt-SidebarSearchTrigger) {
|
|
1076
1199
|
justify-content: center !important;
|
|
1077
1200
|
align-items: center !important;
|
|
1078
1201
|
flex-direction: column !important;
|
|
@@ -1087,17 +1210,17 @@
|
|
|
1087
1210
|
}
|
|
1088
1211
|
|
|
1089
1212
|
/* Size-specific vertical padding for thin search trigger */
|
|
1090
|
-
:where(.rt-SidebarContainer[data-presentation='thin'].rt-r-size-1) :where(.rt-SidebarSearchTrigger) {
|
|
1213
|
+
:where(:is(.rt-SidebarContainer[data-presentation='thin'].rt-r-size-1, .rt-ShellRailContent.rt-r-size-1)) :where(.rt-SidebarSearchTrigger) {
|
|
1091
1214
|
padding-top: var(--space-1) !important;
|
|
1092
1215
|
padding-bottom: var(--space-1) !important;
|
|
1093
1216
|
}
|
|
1094
1217
|
|
|
1095
|
-
:where(.rt-SidebarContainer[data-presentation='thin'].rt-r-size-2) :where(.rt-SidebarSearchTrigger) {
|
|
1218
|
+
:where(:is(.rt-SidebarContainer[data-presentation='thin'].rt-r-size-2, .rt-ShellRailContent.rt-r-size-2)) :where(.rt-SidebarSearchTrigger) {
|
|
1096
1219
|
padding-top: var(--space-1) !important;
|
|
1097
1220
|
padding-bottom: var(--space-1) !important;
|
|
1098
1221
|
}
|
|
1099
1222
|
|
|
1100
|
-
:where(.rt-SidebarContainer[data-presentation='thin'].rt-r-size-3) :where(.rt-SidebarSearchTrigger) {
|
|
1223
|
+
:where(:is(.rt-SidebarContainer[data-presentation='thin'].rt-r-size-3, .rt-ShellRailContent.rt-r-size-3)) :where(.rt-SidebarSearchTrigger) {
|
|
1101
1224
|
padding-top: var(--space-2) !important;
|
|
1102
1225
|
padding-bottom: var(--space-2) !important;
|
|
1103
1226
|
}
|
|
@@ -1105,69 +1228,69 @@
|
|
|
1105
1228
|
/* Size-specific icon sizing for thin search trigger */
|
|
1106
1229
|
/* Matches the effective icon size of other menu buttons (expanded-mode rules win on specificity) */
|
|
1107
1230
|
/* stylelint-disable-next-line selector-max-type, selector-max-specificity */
|
|
1108
|
-
.rt-SidebarContainer[data-presentation='thin'].rt-r-size-1 .rt-SidebarSearchTrigger svg {
|
|
1231
|
+
:is(.rt-SidebarContainer[data-presentation='thin'].rt-r-size-1, .rt-ShellRailContent.rt-r-size-1) .rt-SidebarSearchTrigger svg {
|
|
1109
1232
|
width: var(--content-icon-size-2);
|
|
1110
1233
|
height: var(--content-icon-size-2);
|
|
1111
1234
|
}
|
|
1112
1235
|
|
|
1113
1236
|
/* stylelint-disable-next-line selector-max-type, selector-max-specificity */
|
|
1114
|
-
.rt-SidebarContainer[data-presentation='thin'].rt-r-size-2 .rt-SidebarSearchTrigger svg {
|
|
1237
|
+
:is(.rt-SidebarContainer[data-presentation='thin'].rt-r-size-2, .rt-ShellRailContent.rt-r-size-2) .rt-SidebarSearchTrigger svg {
|
|
1115
1238
|
width: var(--content-icon-size-3);
|
|
1116
1239
|
height: var(--content-icon-size-3);
|
|
1117
1240
|
}
|
|
1118
1241
|
|
|
1119
1242
|
/* stylelint-disable-next-line selector-max-type, selector-max-specificity */
|
|
1120
|
-
.rt-SidebarContainer[data-presentation='thin'].rt-r-size-3 .rt-SidebarSearchTrigger svg {
|
|
1243
|
+
:is(.rt-SidebarContainer[data-presentation='thin'].rt-r-size-3, .rt-ShellRailContent.rt-r-size-3) .rt-SidebarSearchTrigger svg {
|
|
1121
1244
|
width: var(--content-icon-size-3);
|
|
1122
1245
|
height: var(--content-icon-size-3);
|
|
1123
1246
|
}
|
|
1124
1247
|
|
|
1125
1248
|
/* Remove hover background from thin trigger button itself (styles live on icon wrapper) */
|
|
1126
|
-
:where(.rt-SidebarContainer[data-presentation='thin']) :where(.rt-SidebarSearchTrigger:where([data-state='open'])) {
|
|
1249
|
+
:where(:is(.rt-SidebarContainer[data-presentation='thin'], .rt-ShellRailContent)) :where(.rt-SidebarSearchTrigger:where([data-state='open'])) {
|
|
1127
1250
|
background-color: transparent !important;
|
|
1128
1251
|
}
|
|
1129
1252
|
|
|
1130
1253
|
@media (hover: hover) {
|
|
1131
|
-
:where(.rt-SidebarContainer[data-presentation='thin']) :where(.rt-SidebarSearchTrigger:where(:hover)) {
|
|
1254
|
+
:where(:is(.rt-SidebarContainer[data-presentation='thin'], .rt-ShellRailContent)) :where(.rt-SidebarSearchTrigger:where(:hover)) {
|
|
1132
1255
|
background-color: transparent !important;
|
|
1133
1256
|
}
|
|
1134
1257
|
}
|
|
1135
1258
|
|
|
1136
1259
|
/* Search trigger icon wrapper - size-specific padding (mirrors Content-scoped rules) */
|
|
1137
1260
|
/* stylelint-disable-next-line selector-max-specificity */
|
|
1138
|
-
.rt-SidebarContainer[data-presentation='thin'].rt-r-size-1 .rt-SidebarSearchTrigger .rt-SidebarMenuIconWrapper {
|
|
1261
|
+
:is(.rt-SidebarContainer[data-presentation='thin'].rt-r-size-1, .rt-ShellRailContent.rt-r-size-1) .rt-SidebarSearchTrigger .rt-SidebarMenuIconWrapper {
|
|
1139
1262
|
padding: var(--space-2) var(--space-2);
|
|
1140
1263
|
border-radius: var(--radius-pill-1);
|
|
1141
1264
|
}
|
|
1142
1265
|
|
|
1143
1266
|
/* stylelint-disable-next-line selector-max-specificity */
|
|
1144
|
-
.rt-SidebarContainer[data-presentation='thin'].rt-r-size-2 .rt-SidebarSearchTrigger .rt-SidebarMenuIconWrapper {
|
|
1267
|
+
:is(.rt-SidebarContainer[data-presentation='thin'].rt-r-size-2, .rt-ShellRailContent.rt-r-size-2) .rt-SidebarSearchTrigger .rt-SidebarMenuIconWrapper {
|
|
1145
1268
|
padding: var(--space-2);
|
|
1146
1269
|
border-radius: var(--radius-pill-2);
|
|
1147
1270
|
}
|
|
1148
1271
|
|
|
1149
1272
|
/* stylelint-disable-next-line selector-max-specificity */
|
|
1150
|
-
.rt-SidebarContainer[data-presentation='thin'].rt-r-size-3 .rt-SidebarSearchTrigger .rt-SidebarMenuIconWrapper {
|
|
1273
|
+
:is(.rt-SidebarContainer[data-presentation='thin'].rt-r-size-3, .rt-ShellRailContent.rt-r-size-3) .rt-SidebarSearchTrigger .rt-SidebarMenuIconWrapper {
|
|
1151
1274
|
padding: var(--space-3);
|
|
1152
1275
|
border-radius: var(--radius-pill-3);
|
|
1153
1276
|
}
|
|
1154
1277
|
|
|
1155
1278
|
/* Search trigger icon wrapper hover (soft variant) */
|
|
1156
1279
|
@media (hover: hover) {
|
|
1157
|
-
:where(.rt-SidebarContainer[data-presentation='thin'].rt-menu-variant-soft) :where(.rt-SidebarSearchTrigger:where(:hover):not([data-disabled]) .rt-SidebarMenuIconWrapper) {
|
|
1280
|
+
:where(:is(.rt-SidebarContainer[data-presentation='thin'], .rt-ShellRailContent).rt-menu-variant-soft) :where(.rt-SidebarSearchTrigger:where(:hover):not([data-disabled]) .rt-SidebarMenuIconWrapper) {
|
|
1158
1281
|
background-color: var(--accent-4);
|
|
1159
1282
|
}
|
|
1160
1283
|
}
|
|
1161
1284
|
|
|
1162
1285
|
@media (hover: hover) {
|
|
1163
|
-
:where([data-panel-background='translucent']) :where(.rt-SidebarContainer[data-presentation='thin'].rt-menu-variant-soft) :where(.rt-SidebarSearchTrigger:where(:hover):not([data-disabled]) .rt-SidebarMenuIconWrapper) {
|
|
1286
|
+
:where([data-panel-background='translucent']) :where(:is(.rt-SidebarContainer[data-presentation='thin'], .rt-ShellRailContent).rt-menu-variant-soft) :where(.rt-SidebarSearchTrigger:where(:hover):not([data-disabled]) .rt-SidebarMenuIconWrapper) {
|
|
1164
1287
|
background-color: var(--accent-a4);
|
|
1165
1288
|
}
|
|
1166
1289
|
}
|
|
1167
1290
|
|
|
1168
1291
|
/* Search trigger icon wrapper hover (solid variant) */
|
|
1169
1292
|
@media (hover: hover) {
|
|
1170
|
-
:where(.rt-SidebarContainer[data-presentation='thin'].rt-menu-variant-solid) :where(.rt-SidebarSearchTrigger:where(:hover):not([data-disabled]) .rt-SidebarMenuIconWrapper) {
|
|
1293
|
+
:where(:is(.rt-SidebarContainer[data-presentation='thin'], .rt-ShellRailContent).rt-menu-variant-solid) :where(.rt-SidebarSearchTrigger:where(:hover):not([data-disabled]) .rt-SidebarMenuIconWrapper) {
|
|
1171
1294
|
background-color: var(--accent-solid);
|
|
1172
1295
|
color: var(--accent-solid-contrast);
|
|
1173
1296
|
}
|
|
@@ -24,6 +24,7 @@ const sidebarPropDefs = {
|
|
|
24
24
|
...asChildPropDef,
|
|
25
25
|
size: { type: 'enum', className: 'rt-r-size', values: sizes, default: '2', responsive: true },
|
|
26
26
|
variant: { type: 'enum', className: 'rt-variant', values: variants, default: 'outline' },
|
|
27
|
+
/** @deprecated Removed in 0.15.0. Rows use the soft highlight, and the solid one under `prefers-contrast: more`. */
|
|
27
28
|
menuVariant: {
|
|
28
29
|
type: 'enum',
|
|
29
30
|
className: 'rt-menu-variant',
|
|
@@ -16,6 +16,8 @@ import { ThickChevronRightIcon } from './icons.js';
|
|
|
16
16
|
import { extractProps } from '../helpers/extract-props.js';
|
|
17
17
|
import { Kbd } from './kbd.js';
|
|
18
18
|
import { Badge } from './badge.js';
|
|
19
|
+
import { SidebarVisualContext, useSidebarVisual } from './_internal/pane-chrome.js';
|
|
20
|
+
import { warnDeprecated } from '../helpers/warn-deprecated.js';
|
|
19
21
|
|
|
20
22
|
import type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';
|
|
21
23
|
import type { GetPropDefTypes } from '../props/prop-def.js';
|
|
@@ -30,18 +32,6 @@ type BadgeConfig = {
|
|
|
30
32
|
radius?: BadgeProps['radius'];
|
|
31
33
|
};
|
|
32
34
|
|
|
33
|
-
// Internal presentational context (not exported) for size/menu variant
|
|
34
|
-
type SidebarVisualContextValue = {
|
|
35
|
-
size: '1' | '2' | '3';
|
|
36
|
-
menuVariant: 'solid' | 'soft';
|
|
37
|
-
presentation?: 'thin' | 'expanded';
|
|
38
|
-
color?: string;
|
|
39
|
-
};
|
|
40
|
-
const SidebarVisualContext = React.createContext<SidebarVisualContextValue | null>(null);
|
|
41
|
-
function useSidebarVisual() {
|
|
42
|
-
return React.useContext(SidebarVisualContext);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
35
|
// Sidebar is now independent of Shell - no integration needed
|
|
46
36
|
|
|
47
37
|
// Main Sidebar component
|
|
@@ -55,8 +45,18 @@ interface SidebarProps extends ComponentPropsWithout<'div', RemovedProps>, Sideb
|
|
|
55
45
|
presentation?: 'thin' | 'expanded';
|
|
56
46
|
}
|
|
57
47
|
|
|
48
|
+
/** @deprecated Removed in 0.15.0. Put the menu parts in `Shell.Sidebar`. */
|
|
58
49
|
const Sidebar = React.forwardRef<HTMLDivElement, SidebarProps>((props, forwardedRef) => {
|
|
59
50
|
const themeContext = useThemeContext();
|
|
51
|
+
warnDeprecated(
|
|
52
|
+
'Sidebar.Root is deprecated and will be removed in 0.15.0. Put the Sidebar menu parts in Shell.Sidebar, between Shell.PaneHeader, Shell.Scroll and Shell.PaneFooter.',
|
|
53
|
+
);
|
|
54
|
+
if (props.menuVariant !== undefined) {
|
|
55
|
+
warnDeprecated('`menuVariant` on Sidebar.Root is deprecated and will be removed in 0.15.0. Rows use the soft highlight, and the solid one under prefers-contrast: more.');
|
|
56
|
+
}
|
|
57
|
+
if (props.presentation === 'thin' || props.layout === 'rail') {
|
|
58
|
+
warnDeprecated('Sidebar thin mode is deprecated and will be removed in 0.15.0. Put the rows in Shell.Rail, which draws them as tiles.');
|
|
59
|
+
}
|
|
60
60
|
|
|
61
61
|
const {
|
|
62
62
|
size = sidebarPropDefs.size.default,
|
|
@@ -110,8 +110,10 @@ interface SidebarContentProps extends React.ComponentPropsWithoutRef<'div'> {
|
|
|
110
110
|
'aria-label'?: string;
|
|
111
111
|
}
|
|
112
112
|
|
|
113
|
+
/** @deprecated Removed in 0.15.0. Use `Shell.Scroll`. */
|
|
113
114
|
const SidebarContent = React.forwardRef<HTMLDivElement, SidebarContentProps>(
|
|
114
115
|
({ className, children, role = 'navigation', 'aria-label': ariaLabel = 'Main navigation', id, ...props }, forwardedRef) => {
|
|
116
|
+
warnDeprecated('Sidebar.Content is deprecated and will be removed in 0.15.0. Use Shell.Scroll inside Shell.Sidebar.');
|
|
115
117
|
const visual = useSidebarVisual();
|
|
116
118
|
const size = visual?.size ?? '2';
|
|
117
119
|
const menuVariant = visual?.menuVariant ?? 'soft';
|
|
@@ -143,7 +145,9 @@ interface SidebarHeaderProps extends React.ComponentPropsWithoutRef<'div'> {
|
|
|
143
145
|
asContainer?: boolean;
|
|
144
146
|
}
|
|
145
147
|
|
|
148
|
+
/** @deprecated Removed in 0.15.0. Use `Shell.PaneHeader`. */
|
|
146
149
|
const SidebarHeader = React.forwardRef<HTMLDivElement, SidebarHeaderProps>(({ className, asContainer = true, ...props }, forwardedRef) => {
|
|
150
|
+
warnDeprecated('Sidebar.Header is deprecated and will be removed in 0.15.0. Use Shell.PaneHeader inside Shell.Sidebar.');
|
|
147
151
|
const visual = useSidebarVisual();
|
|
148
152
|
const size = visual?.size ?? '2';
|
|
149
153
|
const menuVariant = visual?.menuVariant ?? 'soft';
|
|
@@ -175,7 +179,9 @@ interface SidebarFooterProps extends React.ComponentPropsWithoutRef<'div'> {
|
|
|
175
179
|
asContainer?: boolean;
|
|
176
180
|
}
|
|
177
181
|
|
|
182
|
+
/** @deprecated Removed in 0.15.0. Use `Shell.PaneFooter`. */
|
|
178
183
|
const SidebarFooter = React.forwardRef<HTMLDivElement, SidebarFooterProps>(({ className, asContainer = true, ...props }, forwardedRef) => {
|
|
184
|
+
warnDeprecated('Sidebar.Footer is deprecated and will be removed in 0.15.0. Use Shell.PaneFooter inside Shell.Sidebar.');
|
|
179
185
|
const visual = useSidebarVisual();
|
|
180
186
|
const size = visual?.size ?? '2';
|
|
181
187
|
const menuVariant = visual?.menuVariant ?? 'soft';
|
|
@@ -758,7 +764,7 @@ const SidebarSearch = React.forwardRef<HTMLDivElement, SidebarSearchProps>(
|
|
|
758
764
|
|
|
759
765
|
// Expanded mode: inline input
|
|
760
766
|
return (
|
|
761
|
-
<div {...props} ref={forwardedRef} className={classNames('rt-SidebarSearch', 'rt-SidebarSearch--expanded', className)} role="search">
|
|
767
|
+
<div {...props} ref={forwardedRef} className={classNames('rt-SidebarSearch', 'rt-SidebarSearch--expanded', 'rt-ShellPaneChrome', `rt-r-size-${visual?.size ?? '2'}`, className)} role="search">
|
|
762
768
|
<div className="rt-SidebarSearchInputWrapper">
|
|
763
769
|
<SearchIcon className="rt-SidebarSearchIcon" />
|
|
764
770
|
<input
|