negodesign 0.0.77 → 0.0.79

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 (278) hide show
  1. package/README.md +133 -133
  2. package/dist/components/NegoDesign.svelte +21 -21
  3. package/dist/components/pages/admin/01/ui/AdminContent.svelte +14 -14
  4. package/dist/components/pages/admin/01/ui/AdminPanel.svelte +46 -46
  5. package/dist/components/pages/product-details/shared/ProductDetailFilesVertical.svelte +103 -103
  6. package/dist/components/pages/profile-user/shared/ProfileUserAddress.svelte +83 -83
  7. package/dist/components/pages/profile-user/shared/ProfileUserTabs.svelte +80 -80
  8. package/dist/components/pages/security/auth/PageAuth01.svelte +21 -24
  9. package/dist/components/pages/security/auth/PageAuth02.svelte +11 -16
  10. package/dist/components/pages/security/auth/PageAuth03.svelte +11 -16
  11. package/dist/components/pages/security/login/01/ui/FormLogin.svelte +7 -5
  12. package/dist/components/pages/security/login/01/ui/FormLogin.svelte.d.ts +2 -0
  13. package/dist/components/pages/security/login/01/ui/FormLoginEmailPassword.svelte +4 -2
  14. package/dist/components/pages/security/login/01/ui/FormLoginEmailPassword.svelte.d.ts +2 -0
  15. package/dist/components/pages/security/login/01/ui/FormLoginPhonePassword.svelte +4 -2
  16. package/dist/components/pages/security/login/01/ui/FormLoginPhonePassword.svelte.d.ts +2 -0
  17. package/dist/components/pages/security/login/01/ui/FormLoginUsernamePassword.svelte +4 -2
  18. package/dist/components/pages/security/login/01/ui/FormLoginUsernamePassword.svelte.d.ts +2 -0
  19. package/dist/components/pages/security/login/01/ui/{LoginCard.svelte → LoginCard01.svelte} +132 -109
  20. package/dist/components/pages/security/login/01/ui/{LoginCard.svelte.d.ts → LoginCard01.svelte.d.ts} +3 -3
  21. package/dist/components/pages/security/login/01/ui/PageLogin01.svelte +2 -2
  22. package/dist/components/pages/security/login/02/ui/FormLogin02.svelte +7 -5
  23. package/dist/components/pages/security/login/02/ui/FormLogin02.svelte.d.ts +2 -0
  24. package/dist/components/pages/security/login/02/ui/FormLoginEmailPassword02.svelte +4 -2
  25. package/dist/components/pages/security/login/02/ui/FormLoginEmailPassword02.svelte.d.ts +2 -0
  26. package/dist/components/pages/security/login/02/ui/FormLoginPhonePassword02.svelte +4 -2
  27. package/dist/components/pages/security/login/02/ui/FormLoginPhonePassword02.svelte.d.ts +2 -0
  28. package/dist/components/pages/security/login/02/ui/FormLoginUsernamePassword02.svelte +4 -2
  29. package/dist/components/pages/security/login/02/ui/FormLoginUsernamePassword02.svelte.d.ts +2 -0
  30. package/dist/components/pages/security/login/03/ui/FormLogin03.svelte +8 -4
  31. package/dist/components/pages/security/login/03/ui/FormLogin03.svelte.d.ts +2 -0
  32. package/dist/components/pages/security/login/03/ui/FormLoginEmailPassword03.svelte +4 -2
  33. package/dist/components/pages/security/login/03/ui/FormLoginEmailPassword03.svelte.d.ts +2 -0
  34. package/dist/components/pages/security/login/03/ui/FormLoginPhonePassword03.svelte +4 -2
  35. package/dist/components/pages/security/login/03/ui/FormLoginPhonePassword03.svelte.d.ts +2 -0
  36. package/dist/components/pages/security/login/03/ui/FormLoginUsernamePassword03.svelte +4 -2
  37. package/dist/components/pages/security/login/03/ui/FormLoginUsernamePassword03.svelte.d.ts +2 -0
  38. package/dist/components/pages/security/login/PageLogin.svelte +30 -30
  39. package/dist/components/pages/security/register/01/ui/PageRegister01.svelte +21 -9
  40. package/dist/components/pages/security/register/01/ui/PageRegister01.svelte.d.ts +1 -0
  41. package/dist/components/pages/security/register/01/ui/{RegisterCard.svelte → RegisterCard01.svelte} +26 -22
  42. package/dist/components/pages/security/register/01/ui/{RegisterCard.svelte.d.ts → RegisterCard01.svelte.d.ts} +3 -3
  43. package/dist/components/pages/security/register/FormRegister.svelte +40 -14
  44. package/dist/components/pages/security/register/FormRegister.svelte.d.ts +3 -0
  45. package/dist/components/ui/avatar/avatar-fallback.svelte +29 -29
  46. package/dist/components/ui/avatar/avatar-image.svelte +38 -38
  47. package/dist/components/ui/avatar/avatar.svelte +39 -39
  48. package/dist/components/ui/badge/badge.svelte +46 -46
  49. package/dist/components/ui/banner/AdCardBanner.svelte +74 -74
  50. package/dist/components/ui/banner/CtaCardBanner.svelte +118 -118
  51. package/dist/components/ui/banner/CtaCardImageBanner.svelte +94 -94
  52. package/dist/components/ui/breadcrumb/core/breadcrumb-list.svelte +31 -31
  53. package/dist/components/ui/button/ButtonBack.svelte +18 -18
  54. package/dist/components/ui/button/ButtonLogin.svelte +15 -15
  55. package/dist/components/ui/button/ButtonLoginWith.svelte +57 -57
  56. package/dist/components/ui/button/ButtonSend.svelte +15 -15
  57. package/dist/components/ui/button/button.svelte +85 -85
  58. package/dist/components/ui/card/core/highlight/01/CardHighlight01.svelte +103 -103
  59. package/dist/components/ui/card/core/highlight/02/CardHighlight02.svelte +99 -99
  60. package/dist/components/ui/card/core/highlight/CardHighlight.svelte +22 -22
  61. package/dist/components/ui/card/core/media/01/CardMedia01.svelte +133 -133
  62. package/dist/components/ui/card/core/media/02/CardMedia02.svelte +127 -127
  63. package/dist/components/ui/card/core/media/CardMedia.svelte +18 -18
  64. package/dist/components/ui/card/core/product/01/CardProduct01.svelte +136 -136
  65. package/dist/components/ui/card/core/product/02/CardProduct02.svelte +124 -124
  66. package/dist/components/ui/card/core/product/CardProduct.svelte +22 -22
  67. package/dist/components/ui/card/core/profile/01/CardProfile01.svelte +134 -134
  68. package/dist/components/ui/card/core/profile/02/CardProfile02.svelte +132 -132
  69. package/dist/components/ui/card/core/profile/CardProfile.svelte +18 -18
  70. package/dist/components/ui/card/core/promotion/CardPromotion.svelte +139 -139
  71. package/dist/components/ui/card/core/promotion/CardPromotionPrice.svelte +32 -32
  72. package/dist/components/ui/card/core/shared/CardButton.svelte +42 -42
  73. package/dist/components/ui/card/core/shared/CardCart.svelte +36 -36
  74. package/dist/components/ui/card/core/shared/CardDescription.svelte +41 -41
  75. package/dist/components/ui/card/core/shared/CardFavorite.svelte +33 -33
  76. package/dist/components/ui/card/core/shared/CardLogo.svelte +19 -19
  77. package/dist/components/ui/card/core/shared/CardPhoneOrWhatsapp.svelte +45 -45
  78. package/dist/components/ui/card/core/shared/CardStarRating.svelte +24 -24
  79. package/dist/components/ui/card/core/shared/CardTags.svelte +95 -95
  80. package/dist/components/ui/card/core/shared/CardThumbnailVideo.svelte +232 -232
  81. package/dist/components/ui/card/core/shared/CardTitlePrice.svelte +24 -24
  82. package/dist/components/ui/card/core/shared/TruncatableText.svelte +49 -49
  83. package/dist/components/ui/carousel/carousel-content.svelte +56 -56
  84. package/dist/components/ui/carousel/carousel-item.svelte +29 -29
  85. package/dist/components/ui/carousel/carousel-next.svelte +40 -40
  86. package/dist/components/ui/carousel/carousel-previous.svelte +40 -40
  87. package/dist/components/ui/carousel/carousel.svelte +225 -225
  88. package/dist/components/ui/carousel/core/badge/ui/CarouselBadge.svelte +108 -108
  89. package/dist/components/ui/carousel/core/grid/shared/ui/CarouselGridSlot.svelte +38 -38
  90. package/dist/components/ui/carousel/core/hero/ui/CarouselHero.svelte +181 -181
  91. package/dist/components/ui/carousel/core/highlights/ui/CarouselHighlights.svelte +67 -67
  92. package/dist/components/ui/carousel/core/product/ui/CarouselProduct.svelte +57 -57
  93. package/dist/components/ui/carousel/core/promotion/ui/CarouselPromotion.svelte +67 -67
  94. package/dist/components/ui/carousel/core/shared/ui/CarouselHeader.svelte +59 -59
  95. package/dist/components/ui/checkbox/checkbox.svelte +96 -96
  96. package/dist/components/ui/collapsible/collapsible-content.svelte +30 -30
  97. package/dist/components/ui/collapsible/collapsible-trigger.svelte +51 -51
  98. package/dist/components/ui/collapsible/collapsible.svelte +66 -66
  99. package/dist/components/ui/data-table/flex-render.svelte +40 -40
  100. package/dist/components/ui/datatable/ui/DataTableActions.svelte +28 -28
  101. package/dist/components/ui/datatable/ui/DataTableCheckbox.svelte +22 -22
  102. package/dist/components/ui/datatable/ui/DataTableContent.svelte +59 -59
  103. package/dist/components/ui/datatable/ui/DataTableCore.svelte +148 -148
  104. package/dist/components/ui/datatable/ui/DataTableDragHandle.svelte +8 -8
  105. package/dist/components/ui/datatable/ui/DataTableListFilter.svelte +60 -60
  106. package/dist/components/ui/datatable/ui/DataTableListPagination.svelte +35 -35
  107. package/dist/components/ui/drawer/drawer-close.svelte +41 -41
  108. package/dist/components/ui/drawer/drawer-content.svelte +81 -81
  109. package/dist/components/ui/drawer/drawer-description.svelte +19 -19
  110. package/dist/components/ui/drawer/drawer-footer.svelte +20 -20
  111. package/dist/components/ui/drawer/drawer-header.svelte +20 -20
  112. package/dist/components/ui/drawer/drawer-nested.svelte +34 -34
  113. package/dist/components/ui/drawer/drawer-overlay.svelte +25 -25
  114. package/dist/components/ui/drawer/drawer-portal.svelte +19 -19
  115. package/dist/components/ui/drawer/drawer-title.svelte +19 -19
  116. package/dist/components/ui/drawer/drawer-trigger.svelte +42 -42
  117. package/dist/components/ui/drawer/drawer.svelte +74 -74
  118. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-group.svelte +25 -25
  119. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte +69 -69
  120. package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte +106 -106
  121. package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte +27 -27
  122. package/dist/components/ui/dropdown-menu/dropdown-menu-group.svelte +21 -21
  123. package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte +60 -60
  124. package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte +27 -27
  125. package/dist/components/ui/dropdown-menu/dropdown-menu-portal.svelte +6 -6
  126. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte +43 -43
  127. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte +70 -70
  128. package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte +20 -20
  129. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte +33 -33
  130. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte +57 -57
  131. package/dist/components/ui/dropdown-menu/dropdown-menu-sub.svelte +76 -76
  132. package/dist/components/ui/dropdown-menu/dropdown-menu-trigger.svelte +68 -68
  133. package/dist/components/ui/dropdown-menu/dropdown-menu.svelte +53 -53
  134. package/dist/components/ui/empty/empty-content.svelte +19 -19
  135. package/dist/components/ui/empty/empty-description.svelte +19 -19
  136. package/dist/components/ui/empty/empty-header.svelte +19 -19
  137. package/dist/components/ui/empty/empty-media.svelte +41 -41
  138. package/dist/components/ui/empty/empty-title.svelte +19 -19
  139. package/dist/components/ui/empty/empty.svelte +19 -19
  140. package/dist/components/ui/footer/ui/Footer.svelte +18 -18
  141. package/dist/components/ui/form/data/InputIconDefault.svelte.js +2 -1
  142. package/dist/components/ui/form/data/InputLabel.svelte.d.ts +3 -0
  143. package/dist/components/ui/form/ui/calendar/Calendar.svelte +194 -0
  144. package/dist/components/ui/form/ui/calendar/Calendar.svelte.d.ts +15 -0
  145. package/dist/components/ui/form/ui/calendar/CalendarCard.svelte +90 -0
  146. package/dist/components/ui/form/ui/calendar/CalendarCard.svelte.d.ts +20 -0
  147. package/dist/components/ui/form/ui/calendar/DaysGrid.svelte +76 -0
  148. package/dist/components/ui/form/ui/calendar/DaysGrid.svelte.d.ts +17 -0
  149. package/dist/components/ui/form/ui/calendar/MonthSelect.svelte +50 -0
  150. package/dist/components/ui/form/ui/calendar/MonthSelect.svelte.d.ts +10 -0
  151. package/dist/components/ui/form/ui/calendar/YearSelect.svelte +117 -0
  152. package/dist/components/ui/form/ui/calendar/YearSelect.svelte.d.ts +15 -0
  153. package/dist/components/ui/form/ui/calendar/index.d.ts +5 -0
  154. package/dist/components/ui/form/ui/calendar/index.js +5 -0
  155. package/dist/components/ui/form/ui/calendar/utils.d.ts +26 -0
  156. package/dist/components/ui/form/ui/calendar/utils.js +89 -0
  157. package/dist/components/ui/form/ui/input-base.svelte +83 -81
  158. package/dist/components/ui/form/ui/input-calendar-interval.svelte +179 -0
  159. package/dist/components/ui/form/ui/input-calendar-interval.svelte.d.ts +14 -0
  160. package/dist/components/ui/form/ui/input-calendar.svelte +110 -0
  161. package/dist/components/ui/form/ui/input-calendar.svelte.d.ts +9 -0
  162. package/dist/components/ui/form/ui/input-email-or-phone.svelte +23 -23
  163. package/dist/components/ui/form/ui/input-email.svelte +23 -23
  164. package/dist/components/ui/form/ui/input-password-confirm.svelte +23 -23
  165. package/dist/components/ui/form/ui/input-password.svelte +23 -23
  166. package/dist/components/ui/form/ui/input-phone.svelte +37 -33
  167. package/dist/components/ui/form/ui/input-select.svelte +210 -158
  168. package/dist/components/ui/form/ui/input-select.svelte.d.ts +5 -9
  169. package/dist/components/ui/form/ui/input-username.svelte +22 -22
  170. package/dist/components/ui/grid/core/ui/01/Grid01.svelte +30 -30
  171. package/dist/components/ui/grid/core/ui/02/Grid02.svelte +30 -30
  172. package/dist/components/ui/grid/core/ui/ItemsPanel.svelte +26 -26
  173. package/dist/components/ui/grid/core/ui/ItemsPanelCarousel.svelte +37 -37
  174. package/dist/components/ui/grid/core/ui/ItemsPanelGrid.svelte +43 -43
  175. package/dist/components/ui/grid/core/ui/ItemsSimpleGrid.svelte +45 -45
  176. package/dist/components/ui/grid/core/ui/shared/DescriptionGrid.svelte +23 -23
  177. package/dist/components/ui/grid/core/ui/shared/IconRenderGrid.svelte +23 -23
  178. package/dist/components/ui/grid/core/ui/shared/TitleGrid.svelte +19 -19
  179. package/dist/components/ui/hero/SimpleHero.svelte +65 -65
  180. package/dist/components/ui/input-otp/input-otp-group.svelte +22 -22
  181. package/dist/components/ui/input-otp/input-otp-separator.svelte +27 -27
  182. package/dist/components/ui/input-otp/input-otp-slot.svelte +63 -63
  183. package/dist/components/ui/input-otp/input-otp.svelte +181 -181
  184. package/dist/components/ui/label/core/LabelOr.svelte +25 -25
  185. package/dist/components/ui/label/label.svelte +19 -19
  186. package/dist/components/ui/language-switcher/language-switcher.svelte +48 -48
  187. package/dist/components/ui/light-switch/light-switch.svelte +48 -48
  188. package/dist/components/ui/link/link-forget-password.svelte +12 -12
  189. package/dist/components/ui/link/link-privacy-polity.svelte +12 -12
  190. package/dist/components/ui/link/link-terms-of-service.svelte +12 -12
  191. package/dist/components/ui/modal/core/index.d.ts +1 -1
  192. package/dist/components/ui/modal/core/types.d.ts +2 -1
  193. package/dist/components/ui/modal/core/ui/ModalCore.svelte +132 -132
  194. package/dist/components/ui/modal/grid/types.d.ts +6 -5
  195. package/dist/components/ui/modal/grid/ui/02/ModalGridSelection02.svelte +146 -146
  196. package/dist/components/ui/modal/share/ui/ModalShareSelection.svelte +156 -156
  197. package/dist/components/ui/nav/ui/ComplexMenu.svelte +51 -51
  198. package/dist/components/ui/nav/ui/Menu.svelte +72 -72
  199. package/dist/components/ui/nav/ui/SimpleMenu.svelte +14 -14
  200. package/dist/components/ui/nav/ui/mobile/ComplexMenuMobile.svelte +125 -125
  201. package/dist/components/ui/nav/ui/mobile/MenuMobile.svelte +54 -54
  202. package/dist/components/ui/nav/ui/shared/MenuButton.svelte +51 -51
  203. package/dist/components/ui/nav/ui/shared/MenuLinks.svelte +40 -40
  204. package/dist/components/ui/nav/ui/shared/MenuListItem.svelte +44 -44
  205. package/dist/components/ui/nav/ui/shared/MenuLogo.svelte +13 -13
  206. package/dist/components/ui/nav/ui/shared/dropdown/DropdownNavigationMenuItemGrid.svelte +30 -30
  207. package/dist/components/ui/nav/ui/shared/navigation/NavDropdown.svelte +87 -87
  208. package/dist/components/ui/nav/ui/shared/navigation/NavigationMenuItem.svelte +17 -17
  209. package/dist/components/ui/nav/ui/shared/navigation/NavigationMenuItemCard.svelte +53 -53
  210. package/dist/components/ui/nav/ui/shared/navigation/NavigationMenuItemGrid.svelte +36 -36
  211. package/dist/components/ui/nav/ui/shared/navigation/NavigationMenuItemList.svelte +24 -24
  212. package/dist/components/ui/nav/ui/shared/navigation/NavigationMenuItems.svelte +21 -21
  213. package/dist/components/ui/panel/CarouselSlot.svelte +57 -57
  214. package/dist/components/ui/panel/LeftHero.svelte +114 -114
  215. package/dist/components/ui/panel/NotFoundEmpty.svelte +66 -66
  216. package/dist/components/ui/phone-input/country-selector.svelte +87 -87
  217. package/dist/components/ui/phone-input/country-selector.svelte.d.ts +2 -2
  218. package/dist/components/ui/phone-input/flag.svelte +11 -11
  219. package/dist/components/ui/phone-input/phone-input.svelte +163 -148
  220. package/dist/components/ui/phone-input/phone-input.svelte.d.ts +2 -2
  221. package/dist/components/ui/popover/popover-close.svelte +25 -25
  222. package/dist/components/ui/popover/popover-content.svelte +92 -92
  223. package/dist/components/ui/popover/popover-portal.svelte +6 -6
  224. package/dist/components/ui/popover/popover-trigger.svelte +68 -68
  225. package/dist/components/ui/popover/popover.svelte +53 -53
  226. package/dist/components/ui/search/SearchInput.svelte +32 -32
  227. package/dist/components/ui/search/shared/SearchInputCore.svelte +66 -66
  228. package/dist/components/ui/separator/separator.svelte +28 -28
  229. package/dist/components/ui/sidebar/core/MenuBarSidebar.svelte +70 -70
  230. package/dist/components/ui/sidebar/core/ui/navbar/NavMenuBarSidebar.svelte +97 -97
  231. package/dist/components/ui/sidebar/core/ui/navbar/NavMenuBottomSidebar.svelte +33 -33
  232. package/dist/components/ui/sidebar/core/ui/navbar/NavMenuTopBarSidebar.svelte +101 -101
  233. package/dist/components/ui/sidebar/core/ui/navbar/nav-menu-header-sidebar.svelte +77 -77
  234. package/dist/components/ui/sidebar/sidebar-content.svelte +24 -24
  235. package/dist/components/ui/sidebar/sidebar-footer.svelte +21 -21
  236. package/dist/components/ui/sidebar/sidebar-group-content.svelte +21 -21
  237. package/dist/components/ui/sidebar/sidebar-menu-action.svelte +38 -38
  238. package/dist/components/ui/sidebar/sidebar-menu-button.svelte +70 -70
  239. package/dist/components/ui/sidebar/sidebar-menu-sub-button.svelte +39 -39
  240. package/dist/components/ui/sidebar/sidebar-provider.svelte +62 -62
  241. package/dist/components/ui/sidebar/sidebar-rail.svelte +36 -36
  242. package/dist/components/ui/sidebar/sidebar-separator.svelte +21 -21
  243. package/dist/components/ui/sidebar/sidebar-trigger.svelte +36 -36
  244. package/dist/components/ui/sidebar/sidebar.svelte +118 -118
  245. package/dist/components/ui/skeleton/skeleton.svelte +19 -19
  246. package/dist/components/ui/star-rating/star-rating-star.svelte +66 -66
  247. package/dist/components/ui/star-rating/star-rating.svelte +149 -149
  248. package/dist/components/ui/table/table-body.svelte +15 -15
  249. package/dist/components/ui/table/table-caption.svelte +20 -20
  250. package/dist/components/ui/table/table-cell.svelte +15 -15
  251. package/dist/components/ui/table/table-footer.svelte +20 -20
  252. package/dist/components/ui/table/table-head.svelte +15 -15
  253. package/dist/components/ui/table/table-header.svelte +20 -20
  254. package/dist/components/ui/table/table-row.svelte +15 -15
  255. package/dist/components/ui/table/table.svelte +17 -17
  256. package/dist/components/ui/tabs/ui/tab-underline.svelte +43 -43
  257. package/dist/components/ui/underline-tabs/underline-tabs-content.svelte +33 -33
  258. package/dist/components/ui/underline-tabs/underline-tabs-list.svelte +40 -40
  259. package/dist/components/ui/underline-tabs/underline-tabs-trigger.svelte +91 -91
  260. package/dist/components/ui/underline-tabs/underline-tabs.svelte +61 -61
  261. package/dist/docs/ApiTable.svelte +42 -42
  262. package/dist/docs/CodeBlock.svelte +26 -26
  263. package/dist/docs/DocsHeader.svelte +25 -25
  264. package/dist/docs/DocsSidebar.svelte +108 -156
  265. package/dist/docs/components.js +638 -563
  266. package/dist/globals.css +68 -10
  267. package/dist/i18n/langs/en.d.ts +7 -0
  268. package/dist/i18n/langs/en.js +7 -0
  269. package/dist/i18n/langs/pt.d.ts +7 -0
  270. package/dist/i18n/langs/pt.js +7 -0
  271. package/dist/i18n/translations.d.ts +14 -0
  272. package/dist/index.d.ts +23 -0
  273. package/dist/index.js +23 -0
  274. package/dist/styles/globals.css +283 -283
  275. package/dist/types/index.d.ts +3 -1
  276. package/package.json +81 -81
  277. package/dist/components/pages/security/login/01/ui/FormRegister.svelte +0 -28
  278. package/dist/components/pages/security/login/01/ui/FormRegister.svelte.d.ts +0 -3
@@ -1,97 +1,97 @@
1
- <script lang="ts">
2
- import * as Collapsible from "../../../../collapsible/index.js";
3
- import * as Sidebar from "../../../index.js";
4
- import { ChevronRightIcon } from "@hugeicons/core-free-icons";
5
- import { HugeiconsIcon } from "@hugeicons/svelte";
6
- import type {
7
- NavMenuAndSubmenuSidebarProps,
8
- NavMenuItem,
9
- NavMenuSidebarProps,
10
- } from "../../data/nav-menu-sidebar";
11
-
12
- let {
13
- items,
14
- }: {
15
- items: NavMenuItem[];
16
- } = $props();
17
-
18
- // Internal key for items without a group; never collides with a real name
19
- // because it's not a string accessible to whoever defines the items.
20
- const UNGROUPED = Symbol("ungrouped");
21
-
22
- function hasSubmenus(
23
- item: NavMenuSidebarProps | NavMenuAndSubmenuSidebarProps,
24
- ): item is NavMenuAndSubmenuSidebarProps {
25
- return "submenus" in item && Array.isArray(item.submenus);
26
- }
27
-
28
- let groupedItems = $derived(
29
- Map.groupBy(items, (item) => item.group?.name ?? UNGROUPED),
30
- );
31
- </script>
32
-
33
- {#snippet menuItem(item: NavMenuItem)}
34
- {#if hasSubmenus(item)}
35
- <Collapsible.Root open={item.isActive} class="group/collapsible">
36
- {#snippet child({ props })}
37
- <Sidebar.MenuItem {...props}>
38
- <Collapsible.Trigger>
39
- {#snippet child({ props })}
40
- <Sidebar.MenuButton {...props} tooltipContent={item.title}>
41
- {#if item.icon}
42
- <HugeiconsIcon icon={item.icon} />
43
- {/if}
44
- <span>{item.title}</span>
45
- <HugeiconsIcon
46
- icon={ChevronRightIcon}
47
- class="ms-auto transition-transform duration-200 group-data-[state=open]/collapsible:rotate-90"
48
- />
49
- </Sidebar.MenuButton>
50
- {/snippet}
51
- </Collapsible.Trigger>
52
- <Collapsible.Content>
53
- <Sidebar.MenuSub>
54
- {#each item.submenus ?? [] as subItem (subItem.title)}
55
- <Sidebar.MenuSubItem>
56
- <Sidebar.MenuSubButton>
57
- {#snippet child({ props })}
58
- <a href={subItem.url} {...props}>
59
- <span>{subItem.title}</span>
60
- </a>
61
- {/snippet}
62
- </Sidebar.MenuSubButton>
63
- </Sidebar.MenuSubItem>
64
- {/each}
65
- </Sidebar.MenuSub>
66
- </Collapsible.Content>
67
- </Sidebar.MenuItem>
68
- {/snippet}
69
- </Collapsible.Root>
70
- {:else}
71
- <Sidebar.MenuItem>
72
- <Sidebar.MenuButton>
73
- {#snippet child({ props })}
74
- <a href={item.url} {...props}>
75
- {#if item.icon}
76
- <HugeiconsIcon icon={item.icon} />
77
- {/if}
78
- <span>{item.title}</span>
79
- </a>
80
- {/snippet}
81
- </Sidebar.MenuButton>
82
- </Sidebar.MenuItem>
83
- {/if}
84
- {/snippet}
85
-
86
- {#each groupedItems as [groupLabel, groupItems] (typeof groupLabel === "string" ? groupLabel : "ungrouped")}
87
- <Sidebar.Group>
88
- {#if typeof groupLabel === "string"}
89
- <Sidebar.GroupLabel>{groupLabel}</Sidebar.GroupLabel>
90
- {/if}
91
- <Sidebar.Menu>
92
- {#each groupItems as item (item.title)}
93
- {@render menuItem(item)}
94
- {/each}
95
- </Sidebar.Menu>
96
- </Sidebar.Group>
97
- {/each}
1
+ <script lang="ts">
2
+ import * as Collapsible from "../../../../collapsible/index.js";
3
+ import * as Sidebar from "../../../index.js";
4
+ import { ChevronRightIcon } from "@hugeicons/core-free-icons";
5
+ import { HugeiconsIcon } from "@hugeicons/svelte";
6
+ import type {
7
+ NavMenuAndSubmenuSidebarProps,
8
+ NavMenuItem,
9
+ NavMenuSidebarProps,
10
+ } from "../../data/nav-menu-sidebar";
11
+
12
+ let {
13
+ items,
14
+ }: {
15
+ items: NavMenuItem[];
16
+ } = $props();
17
+
18
+ // Internal key for items without a group; never collides with a real name
19
+ // because it's not a string accessible to whoever defines the items.
20
+ const UNGROUPED = Symbol("ungrouped");
21
+
22
+ function hasSubmenus(
23
+ item: NavMenuSidebarProps | NavMenuAndSubmenuSidebarProps,
24
+ ): item is NavMenuAndSubmenuSidebarProps {
25
+ return "submenus" in item && Array.isArray(item.submenus);
26
+ }
27
+
28
+ let groupedItems = $derived(
29
+ Map.groupBy(items, (item) => item.group?.name ?? UNGROUPED),
30
+ );
31
+ </script>
32
+
33
+ {#snippet menuItem(item: NavMenuItem)}
34
+ {#if hasSubmenus(item)}
35
+ <Collapsible.Root open={item.isActive} class="group/collapsible">
36
+ {#snippet child({ props })}
37
+ <Sidebar.MenuItem {...props}>
38
+ <Collapsible.Trigger>
39
+ {#snippet child({ props })}
40
+ <Sidebar.MenuButton {...props} tooltipContent={item.title}>
41
+ {#if item.icon}
42
+ <HugeiconsIcon icon={item.icon} />
43
+ {/if}
44
+ <span>{item.title}</span>
45
+ <HugeiconsIcon
46
+ icon={ChevronRightIcon}
47
+ class="ms-auto transition-transform duration-200 group-data-[state=open]/collapsible:rotate-90"
48
+ />
49
+ </Sidebar.MenuButton>
50
+ {/snippet}
51
+ </Collapsible.Trigger>
52
+ <Collapsible.Content>
53
+ <Sidebar.MenuSub>
54
+ {#each item.submenus ?? [] as subItem (subItem.title)}
55
+ <Sidebar.MenuSubItem>
56
+ <Sidebar.MenuSubButton>
57
+ {#snippet child({ props })}
58
+ <a href={subItem.url} {...props}>
59
+ <span>{subItem.title}</span>
60
+ </a>
61
+ {/snippet}
62
+ </Sidebar.MenuSubButton>
63
+ </Sidebar.MenuSubItem>
64
+ {/each}
65
+ </Sidebar.MenuSub>
66
+ </Collapsible.Content>
67
+ </Sidebar.MenuItem>
68
+ {/snippet}
69
+ </Collapsible.Root>
70
+ {:else}
71
+ <Sidebar.MenuItem>
72
+ <Sidebar.MenuButton>
73
+ {#snippet child({ props })}
74
+ <a href={item.url} {...props}>
75
+ {#if item.icon}
76
+ <HugeiconsIcon icon={item.icon} />
77
+ {/if}
78
+ <span>{item.title}</span>
79
+ </a>
80
+ {/snippet}
81
+ </Sidebar.MenuButton>
82
+ </Sidebar.MenuItem>
83
+ {/if}
84
+ {/snippet}
85
+
86
+ {#each groupedItems as [groupLabel, groupItems] (typeof groupLabel === "string" ? groupLabel : "ungrouped")}
87
+ <Sidebar.Group>
88
+ {#if typeof groupLabel === "string"}
89
+ <Sidebar.GroupLabel>{groupLabel}</Sidebar.GroupLabel>
90
+ {/if}
91
+ <Sidebar.Menu>
92
+ {#each groupItems as item (item.title)}
93
+ {@render menuItem(item)}
94
+ {/each}
95
+ </Sidebar.Menu>
96
+ </Sidebar.Group>
97
+ {/each}
@@ -1,33 +1,33 @@
1
- <script lang="ts">
2
- import * as Sidebar from "../../../index.js";
3
- import type { WithoutChildren } from "../../../../../../utils.js";
4
- import type { ComponentProps } from "svelte";
5
- import type { NavMenuSidebarProps } from "../../data/nav-menu-sidebar";
6
- import { HugeiconsIcon } from "@hugeicons/svelte";
7
-
8
- let {
9
- items,
10
- ...restProps
11
- }: { items?: NavMenuSidebarProps[] } & WithoutChildren<
12
- ComponentProps<typeof Sidebar.Group>
13
- > = $props();
14
- </script>
15
-
16
- <Sidebar.Group {...restProps}>
17
- <Sidebar.GroupContent>
18
- <Sidebar.Menu>
19
- {#each items as item (item.title)}
20
- <Sidebar.MenuItem>
21
- <Sidebar.MenuButton>
22
- {#snippet child({ props })}
23
- <a href={item.url} {...props}>
24
- <HugeiconsIcon icon={item.icon} size={16} />
25
- <span>{item.title}</span>
26
- </a>
27
- {/snippet}
28
- </Sidebar.MenuButton>
29
- </Sidebar.MenuItem>
30
- {/each}
31
- </Sidebar.Menu>
32
- </Sidebar.GroupContent>
33
- </Sidebar.Group>
1
+ <script lang="ts">
2
+ import * as Sidebar from "../../../index.js";
3
+ import type { WithoutChildren } from "../../../../../../utils.js";
4
+ import type { ComponentProps } from "svelte";
5
+ import type { NavMenuSidebarProps } from "../../data/nav-menu-sidebar";
6
+ import { HugeiconsIcon } from "@hugeicons/svelte";
7
+
8
+ let {
9
+ items,
10
+ ...restProps
11
+ }: { items?: NavMenuSidebarProps[] } & WithoutChildren<
12
+ ComponentProps<typeof Sidebar.Group>
13
+ > = $props();
14
+ </script>
15
+
16
+ <Sidebar.Group {...restProps}>
17
+ <Sidebar.GroupContent>
18
+ <Sidebar.Menu>
19
+ {#each items as item (item.title)}
20
+ <Sidebar.MenuItem>
21
+ <Sidebar.MenuButton>
22
+ {#snippet child({ props })}
23
+ <a href={item.url} {...props}>
24
+ <HugeiconsIcon icon={item.icon} size={16} />
25
+ <span>{item.title}</span>
26
+ </a>
27
+ {/snippet}
28
+ </Sidebar.MenuButton>
29
+ </Sidebar.MenuItem>
30
+ {/each}
31
+ </Sidebar.Menu>
32
+ </Sidebar.GroupContent>
33
+ </Sidebar.Group>
@@ -1,101 +1,101 @@
1
- <script lang="ts">
2
- import * as DropdownMenu from "../../../../dropdown-menu/index.js";
3
- import * as Sidebar from "../../../index.js";
4
- import { useSidebar } from "../../../index.js";
5
- import type { NavTopBarSidebarItem } from "../../data/nav-top-bar-sidebar";
6
- import { HugeiconsIcon } from "@hugeicons/svelte";
7
- import { UnfoldMoreIcon } from "@hugeicons/core-free-icons";
8
-
9
- let { content, dropdownMenu }: NavTopBarSidebarItem = $props();
10
- const sidebar = useSidebar();
11
- </script>
12
-
13
- <Sidebar.Menu>
14
- <Sidebar.MenuItem>
15
- <DropdownMenu.Root>
16
- <DropdownMenu.Trigger>
17
- {#snippet child({ props })}
18
- <Sidebar.MenuButton
19
- {...props}
20
- size="lg"
21
- class="data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground"
22
- >
23
- <div
24
- class="bg-sidebar-primary text-sidebar-primary-foreground flex aspect-square size-8 items-center justify-center rounded-lg"
25
- >
26
- <content.logo class="size-4" />
27
- </div>
28
- <div
29
- class="grid flex-1 text-start text-sm leading-tight"
30
- >
31
- <span class="truncate font-medium">
32
- {content.title}
33
- </span>
34
- <span class="truncate text-xs"
35
- >{content.subtitle}</span
36
- >
37
- </div>
38
- {#if dropdownMenu}
39
- <HugeiconsIcon
40
- icon={UnfoldMoreIcon}
41
- class="ms-auto"
42
- />
43
- {/if}
44
- </Sidebar.MenuButton>
45
- {/snippet}
46
- </DropdownMenu.Trigger>
47
- {#if dropdownMenu}
48
- <DropdownMenu.Content
49
- class="w-(--bits-dropdown-menu-anchor-width) min-w-56 rounded-lg"
50
- align="start"
51
- side={sidebar.isMobile ? "bottom" : "right"}
52
- sideOffset={4}
53
- >
54
- {#if dropdownMenu.header}
55
- <DropdownMenu.Label
56
- class="text-muted-foreground text-xs"
57
- >
58
- {#if dropdownMenu.header.icon}
59
- <dropdownMenu.header.icon
60
- class="size-3.5 shrink-0"
61
- />
62
- {/if}
63
- {dropdownMenu.header.text}
64
- </DropdownMenu.Label>
65
- {/if}
66
- {#each dropdownMenu.items as it, index (index)}
67
- <DropdownMenu.Item
68
- onSelect={it.onclick}
69
- class="gap-2 p-2"
70
- >
71
- <div
72
- class="flex size-6 items-center justify-center rounded-md border"
73
- >
74
- <it.icon class="size-3.5 shrink-0" />
75
- </div>
76
- {it.text}
77
- <DropdownMenu.Shortcut>
78
- ⌘{index + 1}
79
- </DropdownMenu.Shortcut>
80
- </DropdownMenu.Item>
81
- {/each}
82
- {#if dropdownMenu.footer}
83
- <DropdownMenu.Separator />
84
- <DropdownMenu.Item class="gap-2 p-2">
85
- <div
86
- class="flex size-6 items-center justify-center rounded-md border bg-transparent"
87
- >
88
- {#if dropdownMenu.footer.icon}
89
- <dropdownMenu.footer.icon class="size-4" />
90
- {/if}
91
- </div>
92
- <div class="text-muted-foreground font-medium">
93
- {dropdownMenu.footer.text}
94
- </div>
95
- </DropdownMenu.Item>
96
- {/if}
97
- </DropdownMenu.Content>
98
- {/if}
99
- </DropdownMenu.Root>
100
- </Sidebar.MenuItem>
101
- </Sidebar.Menu>
1
+ <script lang="ts">
2
+ import * as DropdownMenu from "../../../../dropdown-menu/index.js";
3
+ import * as Sidebar from "../../../index.js";
4
+ import { useSidebar } from "../../../index.js";
5
+ import type { NavTopBarSidebarItem } from "../../data/nav-top-bar-sidebar";
6
+ import { HugeiconsIcon } from "@hugeicons/svelte";
7
+ import { UnfoldMoreIcon } from "@hugeicons/core-free-icons";
8
+
9
+ let { content, dropdownMenu }: NavTopBarSidebarItem = $props();
10
+ const sidebar = useSidebar();
11
+ </script>
12
+
13
+ <Sidebar.Menu>
14
+ <Sidebar.MenuItem>
15
+ <DropdownMenu.Root>
16
+ <DropdownMenu.Trigger>
17
+ {#snippet child({ props })}
18
+ <Sidebar.MenuButton
19
+ {...props}
20
+ size="lg"
21
+ class="data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground"
22
+ >
23
+ <div
24
+ class="bg-sidebar-primary text-sidebar-primary-foreground flex aspect-square size-8 items-center justify-center rounded-lg"
25
+ >
26
+ <content.logo class="size-4" />
27
+ </div>
28
+ <div
29
+ class="grid flex-1 text-start text-sm leading-tight"
30
+ >
31
+ <span class="truncate font-medium">
32
+ {content.title}
33
+ </span>
34
+ <span class="truncate text-xs"
35
+ >{content.subtitle}</span
36
+ >
37
+ </div>
38
+ {#if dropdownMenu}
39
+ <HugeiconsIcon
40
+ icon={UnfoldMoreIcon}
41
+ class="ms-auto"
42
+ />
43
+ {/if}
44
+ </Sidebar.MenuButton>
45
+ {/snippet}
46
+ </DropdownMenu.Trigger>
47
+ {#if dropdownMenu}
48
+ <DropdownMenu.Content
49
+ class="w-(--bits-dropdown-menu-anchor-width) min-w-56 rounded-lg"
50
+ align="start"
51
+ side={sidebar.isMobile ? "bottom" : "right"}
52
+ sideOffset={4}
53
+ >
54
+ {#if dropdownMenu.header}
55
+ <DropdownMenu.Label
56
+ class="text-muted-foreground text-xs"
57
+ >
58
+ {#if dropdownMenu.header.icon}
59
+ <dropdownMenu.header.icon
60
+ class="size-3.5 shrink-0"
61
+ />
62
+ {/if}
63
+ {dropdownMenu.header.text}
64
+ </DropdownMenu.Label>
65
+ {/if}
66
+ {#each dropdownMenu.items as it, index (index)}
67
+ <DropdownMenu.Item
68
+ onSelect={it.onclick}
69
+ class="gap-2 p-2"
70
+ >
71
+ <div
72
+ class="flex size-6 items-center justify-center rounded-md border"
73
+ >
74
+ <it.icon class="size-3.5 shrink-0" />
75
+ </div>
76
+ {it.text}
77
+ <DropdownMenu.Shortcut>
78
+ ⌘{index + 1}
79
+ </DropdownMenu.Shortcut>
80
+ </DropdownMenu.Item>
81
+ {/each}
82
+ {#if dropdownMenu.footer}
83
+ <DropdownMenu.Separator />
84
+ <DropdownMenu.Item class="gap-2 p-2">
85
+ <div
86
+ class="flex size-6 items-center justify-center rounded-md border bg-transparent"
87
+ >
88
+ {#if dropdownMenu.footer.icon}
89
+ <dropdownMenu.footer.icon class="size-4" />
90
+ {/if}
91
+ </div>
92
+ <div class="text-muted-foreground font-medium">
93
+ {dropdownMenu.footer.text}
94
+ </div>
95
+ </DropdownMenu.Item>
96
+ {/if}
97
+ </DropdownMenu.Content>
98
+ {/if}
99
+ </DropdownMenu.Root>
100
+ </Sidebar.MenuItem>
101
+ </Sidebar.Menu>
@@ -1,77 +1,77 @@
1
- <script lang="ts">
2
- import * as DropdownMenu from "../../../../dropdown-menu/index.js";
3
- import * as Sidebar from "../../../index.js";
4
- import { useSidebar } from "../../../index.js";
5
- import { HugeiconsIcon } from "@hugeicons/svelte";
6
- import { PlusSignIcon, UnfoldMoreIcon } from "@hugeicons/core-free-icons";
7
-
8
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
9
- let { teams }: { teams: { name: string; logo: any; plan: string }[] } =
10
- $props();
11
- const sidebar = useSidebar();
12
-
13
- // svelte-ignore state_referenced_locally
14
- let activeTeam = $state(teams[0]);
15
- </script>
16
-
17
- <Sidebar.Menu>
18
- <Sidebar.MenuItem>
19
- <DropdownMenu.Root>
20
- <DropdownMenu.Trigger>
21
- {#snippet child({ props })}
22
- <Sidebar.MenuButton
23
- {...props}
24
- size="lg"
25
- class="data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground"
26
- >
27
- <div
28
- class="bg-sidebar-primary text-sidebar-primary-foreground flex aspect-square size-8 items-center justify-center rounded-lg"
29
- >
30
- <activeTeam.logo class="size-4" />
31
- </div>
32
- <div class="grid flex-1 text-start text-sm leading-tight">
33
- <span class="truncate font-medium">
34
- {activeTeam.name}
35
- </span>
36
- <span class="truncate text-xs">{activeTeam.plan}</span>
37
- </div>
38
- <HugeiconsIcon icon={UnfoldMoreIcon} class="ms-auto" />
39
- </Sidebar.MenuButton>
40
- {/snippet}
41
- </DropdownMenu.Trigger>
42
- <DropdownMenu.Content
43
- class="w-(--bits-dropdown-menu-anchor-width) min-w-56 rounded-lg"
44
- align="start"
45
- side={sidebar.isMobile ? "bottom" : "right"}
46
- sideOffset={4}
47
- >
48
- <DropdownMenu.Label class="text-muted-foreground text-xs"
49
- >Teams</DropdownMenu.Label
50
- >
51
- {#each teams as team, index (team.name)}
52
- <DropdownMenu.Item
53
- onSelect={() => (activeTeam = team)}
54
- class="gap-2 p-2"
55
- >
56
- <div
57
- class="flex size-6 items-center justify-center rounded-md border"
58
- >
59
- <team.logo class="size-3.5 shrink-0" />
60
- </div>
61
- {team.name}
62
- <DropdownMenu.Shortcut>⌘{index + 1}</DropdownMenu.Shortcut>
63
- </DropdownMenu.Item>
64
- {/each}
65
- <DropdownMenu.Separator />
66
- <DropdownMenu.Item class="gap-2 p-2">
67
- <div
68
- class="flex size-6 items-center justify-center rounded-md border bg-transparent"
69
- >
70
- <HugeiconsIcon icon={PlusSignIcon} class="size-4" />
71
- </div>
72
- <div class="text-muted-foreground font-medium">Add team</div>
73
- </DropdownMenu.Item>
74
- </DropdownMenu.Content>
75
- </DropdownMenu.Root>
76
- </Sidebar.MenuItem>
77
- </Sidebar.Menu>
1
+ <script lang="ts">
2
+ import * as DropdownMenu from "../../../../dropdown-menu/index.js";
3
+ import * as Sidebar from "../../../index.js";
4
+ import { useSidebar } from "../../../index.js";
5
+ import { HugeiconsIcon } from "@hugeicons/svelte";
6
+ import { PlusSignIcon, UnfoldMoreIcon } from "@hugeicons/core-free-icons";
7
+
8
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
9
+ let { teams }: { teams: { name: string; logo: any; plan: string }[] } =
10
+ $props();
11
+ const sidebar = useSidebar();
12
+
13
+ // svelte-ignore state_referenced_locally
14
+ let activeTeam = $state(teams[0]);
15
+ </script>
16
+
17
+ <Sidebar.Menu>
18
+ <Sidebar.MenuItem>
19
+ <DropdownMenu.Root>
20
+ <DropdownMenu.Trigger>
21
+ {#snippet child({ props })}
22
+ <Sidebar.MenuButton
23
+ {...props}
24
+ size="lg"
25
+ class="data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground"
26
+ >
27
+ <div
28
+ class="bg-sidebar-primary text-sidebar-primary-foreground flex aspect-square size-8 items-center justify-center rounded-lg"
29
+ >
30
+ <activeTeam.logo class="size-4" />
31
+ </div>
32
+ <div class="grid flex-1 text-start text-sm leading-tight">
33
+ <span class="truncate font-medium">
34
+ {activeTeam.name}
35
+ </span>
36
+ <span class="truncate text-xs">{activeTeam.plan}</span>
37
+ </div>
38
+ <HugeiconsIcon icon={UnfoldMoreIcon} class="ms-auto" />
39
+ </Sidebar.MenuButton>
40
+ {/snippet}
41
+ </DropdownMenu.Trigger>
42
+ <DropdownMenu.Content
43
+ class="w-(--bits-dropdown-menu-anchor-width) min-w-56 rounded-lg"
44
+ align="start"
45
+ side={sidebar.isMobile ? "bottom" : "right"}
46
+ sideOffset={4}
47
+ >
48
+ <DropdownMenu.Label class="text-muted-foreground text-xs"
49
+ >Teams</DropdownMenu.Label
50
+ >
51
+ {#each teams as team, index (team.name)}
52
+ <DropdownMenu.Item
53
+ onSelect={() => (activeTeam = team)}
54
+ class="gap-2 p-2"
55
+ >
56
+ <div
57
+ class="flex size-6 items-center justify-center rounded-md border"
58
+ >
59
+ <team.logo class="size-3.5 shrink-0" />
60
+ </div>
61
+ {team.name}
62
+ <DropdownMenu.Shortcut>⌘{index + 1}</DropdownMenu.Shortcut>
63
+ </DropdownMenu.Item>
64
+ {/each}
65
+ <DropdownMenu.Separator />
66
+ <DropdownMenu.Item class="gap-2 p-2">
67
+ <div
68
+ class="flex size-6 items-center justify-center rounded-md border bg-transparent"
69
+ >
70
+ <HugeiconsIcon icon={PlusSignIcon} class="size-4" />
71
+ </div>
72
+ <div class="text-muted-foreground font-medium">Add team</div>
73
+ </DropdownMenu.Item>
74
+ </DropdownMenu.Content>
75
+ </DropdownMenu.Root>
76
+ </Sidebar.MenuItem>
77
+ </Sidebar.Menu>