negodesign 0.0.80 → 0.0.82

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 +62 -62
  9. package/dist/components/pages/security/auth/PageAuth02.svelte +40 -40
  10. package/dist/components/pages/security/auth/PageAuth03.svelte +40 -40
  11. package/dist/components/pages/security/login/01/ui/FormLogin.svelte +91 -63
  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 +49 -26
  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 +49 -26
  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 +49 -26
  18. package/dist/components/pages/security/login/01/ui/FormLoginUsernamePassword.svelte.d.ts +2 -0
  19. package/dist/components/pages/security/login/01/ui/LoginCard01.svelte +148 -132
  20. package/dist/components/pages/security/login/01/ui/LoginCard01.svelte.d.ts +2 -0
  21. package/dist/components/pages/security/login/01/ui/PageLogin01.svelte +66 -64
  22. package/dist/components/pages/security/login/02/ui/FormLogin02.svelte +82 -72
  23. package/dist/components/pages/security/login/02/ui/FormLogin02.svelte.d.ts +1 -0
  24. package/dist/components/pages/security/login/02/ui/FormLoginEmailPassword02.svelte +27 -26
  25. package/dist/components/pages/security/login/02/ui/FormLoginEmailPassword02.svelte.d.ts +1 -0
  26. package/dist/components/pages/security/login/02/ui/FormLoginPhonePassword02.svelte +27 -26
  27. package/dist/components/pages/security/login/02/ui/FormLoginPhonePassword02.svelte.d.ts +1 -0
  28. package/dist/components/pages/security/login/02/ui/FormLoginUsernamePassword02.svelte +27 -26
  29. package/dist/components/pages/security/login/02/ui/FormLoginUsernamePassword02.svelte.d.ts +1 -0
  30. package/dist/components/pages/security/login/02/ui/LoginCard02.svelte +15 -2
  31. package/dist/components/pages/security/login/02/ui/LoginCard02.svelte.d.ts +1 -0
  32. package/dist/components/pages/security/login/02/ui/PageLogin02.svelte +2 -0
  33. package/dist/components/pages/security/login/03/ui/FormLogin03.svelte +94 -91
  34. package/dist/components/pages/security/login/03/ui/FormLogin03.svelte.d.ts +1 -0
  35. package/dist/components/pages/security/login/03/ui/FormLoginEmailPassword03.svelte +27 -26
  36. package/dist/components/pages/security/login/03/ui/FormLoginEmailPassword03.svelte.d.ts +1 -0
  37. package/dist/components/pages/security/login/03/ui/FormLoginPhonePassword03.svelte +27 -26
  38. package/dist/components/pages/security/login/03/ui/FormLoginPhonePassword03.svelte.d.ts +1 -0
  39. package/dist/components/pages/security/login/03/ui/FormLoginUsernamePassword03.svelte +27 -26
  40. package/dist/components/pages/security/login/03/ui/FormLoginUsernamePassword03.svelte.d.ts +1 -0
  41. package/dist/components/pages/security/login/03/ui/LoginCard03.svelte +15 -2
  42. package/dist/components/pages/security/login/03/ui/LoginCard03.svelte.d.ts +1 -0
  43. package/dist/components/pages/security/login/03/ui/PageLogin03.svelte +2 -0
  44. package/dist/components/pages/security/login/PageLogin.svelte +30 -30
  45. package/dist/components/pages/security/login/types.d.ts +1 -0
  46. package/dist/components/pages/security/register/01/ui/PageRegister01.svelte +78 -76
  47. package/dist/components/pages/security/register/01/ui/RegisterCard01.svelte +107 -104
  48. package/dist/components/pages/security/register/01/ui/RegisterCard01.svelte.d.ts +1 -0
  49. package/dist/components/pages/security/register/02/ui/PageRegister02.svelte +2 -0
  50. package/dist/components/pages/security/register/02/ui/RegisterCard02.svelte +3 -1
  51. package/dist/components/pages/security/register/02/ui/RegisterCard02.svelte.d.ts +1 -0
  52. package/dist/components/pages/security/register/03/ui/PageRegister03.svelte +2 -0
  53. package/dist/components/pages/security/register/03/ui/RegisterCard03.svelte +3 -1
  54. package/dist/components/pages/security/register/03/ui/RegisterCard03.svelte.d.ts +1 -0
  55. package/dist/components/pages/security/register/FormRegister.svelte +148 -146
  56. package/dist/components/pages/security/register/FormRegister.svelte.d.ts +1 -0
  57. package/dist/components/pages/security/register/types.d.ts +1 -0
  58. package/dist/components/ui/avatar/avatar-fallback.svelte +29 -29
  59. package/dist/components/ui/avatar/avatar-image.svelte +38 -38
  60. package/dist/components/ui/avatar/avatar.svelte +39 -39
  61. package/dist/components/ui/badge/badge.svelte +46 -46
  62. package/dist/components/ui/banner/AdCardBanner.svelte +74 -74
  63. package/dist/components/ui/banner/CtaCardBanner.svelte +118 -118
  64. package/dist/components/ui/banner/CtaCardImageBanner.svelte +94 -94
  65. package/dist/components/ui/breadcrumb/core/breadcrumb-list.svelte +31 -31
  66. package/dist/components/ui/button/ButtonBack.svelte +18 -18
  67. package/dist/components/ui/button/ButtonLogin.svelte +19 -15
  68. package/dist/components/ui/button/ButtonLoginWith.svelte +57 -57
  69. package/dist/components/ui/button/ButtonSend.svelte +15 -15
  70. package/dist/components/ui/button/button.svelte +100 -86
  71. package/dist/components/ui/button/button.svelte.d.ts +1 -0
  72. package/dist/components/ui/card/core/highlight/01/CardHighlight01.svelte +103 -103
  73. package/dist/components/ui/card/core/highlight/02/CardHighlight02.svelte +99 -99
  74. package/dist/components/ui/card/core/highlight/CardHighlight.svelte +22 -22
  75. package/dist/components/ui/card/core/media/01/CardMedia01.svelte +133 -133
  76. package/dist/components/ui/card/core/media/02/CardMedia02.svelte +127 -127
  77. package/dist/components/ui/card/core/media/CardMedia.svelte +18 -18
  78. package/dist/components/ui/card/core/product/01/CardProduct01.svelte +136 -136
  79. package/dist/components/ui/card/core/product/02/CardProduct02.svelte +124 -124
  80. package/dist/components/ui/card/core/product/CardProduct.svelte +22 -22
  81. package/dist/components/ui/card/core/profile/01/CardProfile01.svelte +134 -134
  82. package/dist/components/ui/card/core/profile/02/CardProfile02.svelte +132 -132
  83. package/dist/components/ui/card/core/profile/CardProfile.svelte +18 -18
  84. package/dist/components/ui/card/core/promotion/CardPromotion.svelte +139 -139
  85. package/dist/components/ui/card/core/promotion/CardPromotionPrice.svelte +32 -32
  86. package/dist/components/ui/card/core/shared/CardButton.svelte +42 -42
  87. package/dist/components/ui/card/core/shared/CardCart.svelte +36 -36
  88. package/dist/components/ui/card/core/shared/CardDescription.svelte +41 -41
  89. package/dist/components/ui/card/core/shared/CardFavorite.svelte +33 -33
  90. package/dist/components/ui/card/core/shared/CardLogo.svelte +19 -19
  91. package/dist/components/ui/card/core/shared/CardPhoneOrWhatsapp.svelte +45 -45
  92. package/dist/components/ui/card/core/shared/CardStarRating.svelte +24 -24
  93. package/dist/components/ui/card/core/shared/CardTags.svelte +95 -95
  94. package/dist/components/ui/card/core/shared/CardThumbnailVideo.svelte +232 -232
  95. package/dist/components/ui/card/core/shared/CardTitlePrice.svelte +24 -24
  96. package/dist/components/ui/card/core/shared/TruncatableText.svelte +49 -49
  97. package/dist/components/ui/carousel/carousel-content.svelte +56 -56
  98. package/dist/components/ui/carousel/carousel-item.svelte +29 -29
  99. package/dist/components/ui/carousel/carousel-next.svelte +40 -40
  100. package/dist/components/ui/carousel/carousel-previous.svelte +40 -40
  101. package/dist/components/ui/carousel/carousel.svelte +225 -225
  102. package/dist/components/ui/carousel/core/badge/ui/CarouselBadge.svelte +108 -108
  103. package/dist/components/ui/carousel/core/grid/shared/ui/CarouselGridSlot.svelte +38 -38
  104. package/dist/components/ui/carousel/core/hero/ui/CarouselHero.svelte +181 -181
  105. package/dist/components/ui/carousel/core/highlights/ui/CarouselHighlights.svelte +67 -67
  106. package/dist/components/ui/carousel/core/product/ui/CarouselProduct.svelte +57 -57
  107. package/dist/components/ui/carousel/core/promotion/ui/CarouselPromotion.svelte +67 -67
  108. package/dist/components/ui/carousel/core/shared/ui/CarouselHeader.svelte +59 -59
  109. package/dist/components/ui/checkbox/checkbox.svelte +96 -96
  110. package/dist/components/ui/collapsible/collapsible-content.svelte +30 -30
  111. package/dist/components/ui/collapsible/collapsible-trigger.svelte +51 -51
  112. package/dist/components/ui/collapsible/collapsible.svelte +66 -66
  113. package/dist/components/ui/data-table/flex-render.svelte +40 -40
  114. package/dist/components/ui/datatable/ui/DataTableActions.svelte +28 -28
  115. package/dist/components/ui/datatable/ui/DataTableCheckbox.svelte +22 -22
  116. package/dist/components/ui/datatable/ui/DataTableContent.svelte +59 -59
  117. package/dist/components/ui/datatable/ui/DataTableCore.svelte +148 -148
  118. package/dist/components/ui/datatable/ui/DataTableDragHandle.svelte +8 -8
  119. package/dist/components/ui/datatable/ui/DataTableListFilter.svelte +60 -60
  120. package/dist/components/ui/datatable/ui/DataTableListPagination.svelte +35 -35
  121. package/dist/components/ui/drawer/drawer-close.svelte +41 -41
  122. package/dist/components/ui/drawer/drawer-content.svelte +81 -81
  123. package/dist/components/ui/drawer/drawer-description.svelte +19 -19
  124. package/dist/components/ui/drawer/drawer-footer.svelte +20 -20
  125. package/dist/components/ui/drawer/drawer-header.svelte +20 -20
  126. package/dist/components/ui/drawer/drawer-nested.svelte +34 -34
  127. package/dist/components/ui/drawer/drawer-overlay.svelte +25 -25
  128. package/dist/components/ui/drawer/drawer-portal.svelte +19 -19
  129. package/dist/components/ui/drawer/drawer-title.svelte +19 -19
  130. package/dist/components/ui/drawer/drawer-trigger.svelte +42 -42
  131. package/dist/components/ui/drawer/drawer.svelte +74 -74
  132. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-group.svelte +25 -25
  133. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte +69 -69
  134. package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte +106 -106
  135. package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte +27 -27
  136. package/dist/components/ui/dropdown-menu/dropdown-menu-group.svelte +21 -21
  137. package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte +60 -60
  138. package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte +27 -27
  139. package/dist/components/ui/dropdown-menu/dropdown-menu-portal.svelte +6 -6
  140. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte +43 -43
  141. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte +70 -70
  142. package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte +20 -20
  143. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte +33 -33
  144. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte +57 -57
  145. package/dist/components/ui/dropdown-menu/dropdown-menu-sub.svelte +76 -76
  146. package/dist/components/ui/dropdown-menu/dropdown-menu-trigger.svelte +68 -68
  147. package/dist/components/ui/dropdown-menu/dropdown-menu.svelte +53 -53
  148. package/dist/components/ui/empty/empty-content.svelte +19 -19
  149. package/dist/components/ui/empty/empty-description.svelte +19 -19
  150. package/dist/components/ui/empty/empty-header.svelte +19 -19
  151. package/dist/components/ui/empty/empty-media.svelte +41 -41
  152. package/dist/components/ui/empty/empty-title.svelte +19 -19
  153. package/dist/components/ui/empty/empty.svelte +19 -19
  154. package/dist/components/ui/footer/ui/Footer.svelte +18 -18
  155. package/dist/components/ui/form/ui/calendar/Calendar.svelte +193 -193
  156. package/dist/components/ui/form/ui/calendar/CalendarCard.svelte +89 -89
  157. package/dist/components/ui/form/ui/calendar/DaysGrid.svelte +75 -75
  158. package/dist/components/ui/form/ui/calendar/MonthSelect.svelte +49 -49
  159. package/dist/components/ui/form/ui/calendar/YearSelect.svelte +116 -116
  160. package/dist/components/ui/form/ui/input-base.svelte +83 -83
  161. package/dist/components/ui/form/ui/input-calendar-interval.svelte +178 -178
  162. package/dist/components/ui/form/ui/input-calendar.svelte +109 -109
  163. package/dist/components/ui/form/ui/input-email-or-phone.svelte +23 -23
  164. package/dist/components/ui/form/ui/input-email.svelte +23 -23
  165. package/dist/components/ui/form/ui/input-password-confirm.svelte +23 -23
  166. package/dist/components/ui/form/ui/input-password.svelte +23 -23
  167. package/dist/components/ui/form/ui/input-phone.svelte +43 -37
  168. package/dist/components/ui/form/ui/input-select.svelte +246 -246
  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/ui/ModalCore.svelte +132 -132
  192. package/dist/components/ui/modal/form/index.d.ts +3 -2
  193. package/dist/components/ui/modal/form/index.js +2 -1
  194. package/dist/components/ui/modal/form/types.d.ts +41 -0
  195. package/dist/components/ui/modal/form/ui/ModalForm.svelte +11 -6
  196. package/dist/components/ui/modal/form/ui/ModalFormEmailOrPhone.svelte +204 -0
  197. package/dist/components/ui/modal/form/ui/ModalFormEmailOrPhone.svelte.d.ts +4 -0
  198. package/dist/components/ui/modal/grid/ui/02/ModalGridSelection02.svelte +146 -146
  199. package/dist/components/ui/modal/share/ui/ModalShareSelection.svelte +156 -156
  200. package/dist/components/ui/nav/ui/ComplexMenu.svelte +51 -51
  201. package/dist/components/ui/nav/ui/Menu.svelte +72 -72
  202. package/dist/components/ui/nav/ui/SimpleMenu.svelte +14 -14
  203. package/dist/components/ui/nav/ui/mobile/ComplexMenuMobile.svelte +125 -125
  204. package/dist/components/ui/nav/ui/mobile/MenuMobile.svelte +54 -54
  205. package/dist/components/ui/nav/ui/shared/MenuButton.svelte +51 -51
  206. package/dist/components/ui/nav/ui/shared/MenuLinks.svelte +40 -40
  207. package/dist/components/ui/nav/ui/shared/MenuListItem.svelte +44 -44
  208. package/dist/components/ui/nav/ui/shared/MenuLogo.svelte +13 -13
  209. package/dist/components/ui/nav/ui/shared/dropdown/DropdownNavigationMenuItemGrid.svelte +30 -30
  210. package/dist/components/ui/nav/ui/shared/navigation/NavDropdown.svelte +88 -88
  211. package/dist/components/ui/nav/ui/shared/navigation/NavigationMenuItem.svelte +17 -17
  212. package/dist/components/ui/nav/ui/shared/navigation/NavigationMenuItemCard.svelte +53 -53
  213. package/dist/components/ui/nav/ui/shared/navigation/NavigationMenuItemGrid.svelte +35 -36
  214. package/dist/components/ui/nav/ui/shared/navigation/NavigationMenuItemList.svelte +24 -24
  215. package/dist/components/ui/nav/ui/shared/navigation/NavigationMenuItems.svelte +21 -21
  216. package/dist/components/ui/panel/CarouselSlot.svelte +57 -57
  217. package/dist/components/ui/panel/LeftHero.svelte +114 -114
  218. package/dist/components/ui/panel/NotFoundEmpty.svelte +66 -66
  219. package/dist/components/ui/phone-input/country-selector.svelte +87 -87
  220. package/dist/components/ui/phone-input/flag.svelte +11 -11
  221. package/dist/components/ui/phone-input/phone-input.svelte +163 -163
  222. package/dist/components/ui/popover/popover-close.svelte +25 -25
  223. package/dist/components/ui/popover/popover-content.svelte +92 -92
  224. package/dist/components/ui/popover/popover-portal.svelte +6 -6
  225. package/dist/components/ui/popover/popover-trigger.svelte +68 -68
  226. package/dist/components/ui/popover/popover.svelte +53 -53
  227. package/dist/components/ui/search/SearchInput.svelte +32 -32
  228. package/dist/components/ui/search/shared/SearchInputCore.svelte +66 -66
  229. package/dist/components/ui/separator/separator.svelte +28 -28
  230. package/dist/components/ui/sidebar/core/MenuBarSidebar.svelte +70 -70
  231. package/dist/components/ui/sidebar/core/ui/navbar/NavMenuBarSidebar.svelte +97 -97
  232. package/dist/components/ui/sidebar/core/ui/navbar/NavMenuBottomSidebar.svelte +33 -33
  233. package/dist/components/ui/sidebar/core/ui/navbar/NavMenuTopBarSidebar.svelte +101 -101
  234. package/dist/components/ui/sidebar/core/ui/navbar/nav-menu-header-sidebar.svelte +77 -77
  235. package/dist/components/ui/sidebar/sidebar-content.svelte +24 -24
  236. package/dist/components/ui/sidebar/sidebar-footer.svelte +21 -21
  237. package/dist/components/ui/sidebar/sidebar-group-content.svelte +21 -21
  238. package/dist/components/ui/sidebar/sidebar-menu-action.svelte +38 -38
  239. package/dist/components/ui/sidebar/sidebar-menu-button.svelte +70 -70
  240. package/dist/components/ui/sidebar/sidebar-menu-sub-button.svelte +39 -39
  241. package/dist/components/ui/sidebar/sidebar-provider.svelte +62 -62
  242. package/dist/components/ui/sidebar/sidebar-rail.svelte +36 -36
  243. package/dist/components/ui/sidebar/sidebar-separator.svelte +21 -21
  244. package/dist/components/ui/sidebar/sidebar-trigger.svelte +36 -36
  245. package/dist/components/ui/sidebar/sidebar.svelte +118 -118
  246. package/dist/components/ui/skeleton/skeleton.svelte +19 -19
  247. package/dist/components/ui/star-rating/star-rating-star.svelte +66 -66
  248. package/dist/components/ui/star-rating/star-rating.svelte +149 -149
  249. package/dist/components/ui/table/table-body.svelte +15 -15
  250. package/dist/components/ui/table/table-caption.svelte +20 -20
  251. package/dist/components/ui/table/table-cell.svelte +15 -15
  252. package/dist/components/ui/table/table-footer.svelte +20 -20
  253. package/dist/components/ui/table/table-head.svelte +15 -15
  254. package/dist/components/ui/table/table-header.svelte +20 -20
  255. package/dist/components/ui/table/table-row.svelte +15 -15
  256. package/dist/components/ui/table/table.svelte +17 -17
  257. package/dist/components/ui/tabs/data/TabModel.d.ts +1 -0
  258. package/dist/components/ui/tabs/ui/tab-underline.svelte +47 -43
  259. package/dist/components/ui/underline-tabs/underline-tabs-content.svelte +33 -33
  260. package/dist/components/ui/underline-tabs/underline-tabs-list.svelte +40 -40
  261. package/dist/components/ui/underline-tabs/underline-tabs-trigger.svelte +91 -91
  262. package/dist/components/ui/underline-tabs/underline-tabs.svelte +61 -61
  263. package/dist/docs/ApiTable.svelte +42 -42
  264. package/dist/docs/CodeBlock.svelte +26 -26
  265. package/dist/docs/DocsHeader.svelte +25 -25
  266. package/dist/docs/DocsSidebar.svelte +108 -108
  267. package/dist/docs/components.js +624 -584
  268. package/dist/globals.css +27 -7
  269. package/dist/i18n/langs/en.d.ts +3 -1
  270. package/dist/i18n/langs/en.js +3 -1
  271. package/dist/i18n/langs/pt.d.ts +3 -1
  272. package/dist/i18n/langs/pt.js +3 -1
  273. package/dist/i18n/translations.d.ts +6 -2
  274. package/dist/index.d.ts +12 -0
  275. package/dist/index.js +12 -0
  276. package/dist/styles/globals.css +283 -283
  277. package/dist/types/index.d.ts +3 -1
  278. package/package.json +81 -81
@@ -1,51 +1,51 @@
1
- <script lang="ts">
2
- import type { ComplexMenuProps } from "../data/types";
3
- import {
4
- isCard,
5
- isGrid,
6
- isList,
7
- isItems,
8
- isItem,
9
- } from "../data/complex-menu-utils";
10
- import NavigationMenuItemGrid from "./shared/navigation/NavigationMenuItemGrid.svelte";
11
- import NavigationMenuItemCard from "./shared/navigation/NavigationMenuItemCard.svelte";
12
- import NavigationMenuItem from "./shared/navigation/NavigationMenuItem.svelte";
13
- import NavigationMenuItemList from "./shared/navigation/NavigationMenuItemList.svelte";
14
- import NavigationMenuItems from "./shared/navigation/NavigationMenuItems.svelte";
15
-
16
- let { menus, textClass, subTextClass, hoverClass }: ComplexMenuProps =
17
- $props();
18
- </script>
19
-
20
- <ul
21
- class="flex list-none flex-1 flex-wrap items-center justify-center {textClass}"
22
- >
23
- {#each menus as link, i (i)}
24
- {#if isCard(link)}
25
- <NavigationMenuItemCard
26
- {...link}
27
- {textClass}
28
- {subTextClass}
29
- {hoverClass}
30
- />
31
- {:else if isGrid(link)}
32
- <NavigationMenuItemGrid
33
- {...link}
34
- {textClass}
35
- {subTextClass}
36
- {hoverClass}
37
- />
38
- {:else if isList(link)}
39
- <NavigationMenuItemList
40
- {...link}
41
- {textClass}
42
- {subTextClass}
43
- {hoverClass}
44
- />
45
- {:else if isItems(link)}
46
- <NavigationMenuItems {...link} {textClass} {hoverClass} />
47
- {:else if isItem(link)}
48
- <NavigationMenuItem {...link} {textClass} {hoverClass} />
49
- {/if}
50
- {/each}
51
- </ul>
1
+ <script lang="ts">
2
+ import type { ComplexMenuProps } from "../data/types";
3
+ import {
4
+ isCard,
5
+ isGrid,
6
+ isList,
7
+ isItems,
8
+ isItem,
9
+ } from "../data/complex-menu-utils";
10
+ import NavigationMenuItemGrid from "./shared/navigation/NavigationMenuItemGrid.svelte";
11
+ import NavigationMenuItemCard from "./shared/navigation/NavigationMenuItemCard.svelte";
12
+ import NavigationMenuItem from "./shared/navigation/NavigationMenuItem.svelte";
13
+ import NavigationMenuItemList from "./shared/navigation/NavigationMenuItemList.svelte";
14
+ import NavigationMenuItems from "./shared/navigation/NavigationMenuItems.svelte";
15
+
16
+ let { menus, textClass, subTextClass, hoverClass }: ComplexMenuProps =
17
+ $props();
18
+ </script>
19
+
20
+ <ul
21
+ class="flex list-none flex-1 flex-wrap items-center justify-center {textClass}"
22
+ >
23
+ {#each menus as link, i (i)}
24
+ {#if isCard(link)}
25
+ <NavigationMenuItemCard
26
+ {...link}
27
+ {textClass}
28
+ {subTextClass}
29
+ {hoverClass}
30
+ />
31
+ {:else if isGrid(link)}
32
+ <NavigationMenuItemGrid
33
+ {...link}
34
+ {textClass}
35
+ {subTextClass}
36
+ {hoverClass}
37
+ />
38
+ {:else if isList(link)}
39
+ <NavigationMenuItemList
40
+ {...link}
41
+ {textClass}
42
+ {subTextClass}
43
+ {hoverClass}
44
+ />
45
+ {:else if isItems(link)}
46
+ <NavigationMenuItems {...link} {textClass} {hoverClass} />
47
+ {:else if isItem(link)}
48
+ <NavigationMenuItem {...link} {textClass} {hoverClass} />
49
+ {/if}
50
+ {/each}
51
+ </ul>
@@ -1,72 +1,72 @@
1
- <script lang="ts">
2
- import { LanguageSwitcher } from "../../language-switcher";
3
- import { LightSwitch } from "../../light-switch";
4
- import { useDevice } from "../../../../hooks/responsive.svelte";
5
- import type { ComplexMenuProps, SimpleMenuProps } from "../../../../types";
6
- import ComplexMenu from "./ComplexMenu.svelte";
7
- import ComplexMenuMobile from "./mobile/ComplexMenuMobile.svelte";
8
- import SimpleMenuMobile from "./mobile/SimpleMenuMobile.svelte";
9
- import MenuButton from "./shared/MenuButton.svelte";
10
- import MenuLogo from "./shared/MenuLogo.svelte";
11
- import type { MenuProps, MenuVarientProps } from "../data/types";
12
- import SimpleMenu from "./SimpleMenu.svelte";
13
-
14
- let {
15
- logo,
16
- navMenu,
17
- isBorder,
18
- navMenuButton,
19
- isLightSwitch,
20
- isLanguageSwitcher,
21
- }: MenuProps & {
22
- navMenu: MenuVarientProps;
23
- } = $props();
24
-
25
- function isLinks(item: MenuVarientProps | undefined): item is SimpleMenuProps {
26
- return item !== undefined && "links" in item;
27
- }
28
-
29
- function isMenu(item: MenuVarientProps | undefined): item is ComplexMenuProps {
30
- return item !== undefined && "menus" in item;
31
- }
32
-
33
- const responsive = useDevice();
34
- </script>
35
-
36
- {#snippet actionButtons()}
37
- <div class="flex items-center gap-2">
38
- {#if isLightSwitch}
39
- <LightSwitch />
40
- {/if}
41
- {#if isLanguageSwitcher}
42
- <LanguageSwitcher />
43
- {/if}
44
- {#if navMenuButton}
45
- <MenuButton {...navMenuButton} />
46
- {/if}
47
- </div>
48
- {/snippet}
49
-
50
- <nav
51
- class="flex items-center justify-between p-2 md:p-5 w-full {isBorder
52
- ? 'border-b-2'
53
- : ''}"
54
- >
55
- {#if logo}
56
- <MenuLogo {...logo} />
57
- {/if}
58
-
59
- {#if responsive.isMobile}
60
- {#if isLinks(navMenu)}
61
- <SimpleMenuMobile {...navMenu} />
62
- {:else if isMenu(navMenu)}
63
- <ComplexMenuMobile {...navMenu} />
64
- {/if}
65
- {:else if isLinks(navMenu)}
66
- <SimpleMenu {...navMenu} />
67
- {@render actionButtons()}
68
- {:else if isMenu(navMenu)}
69
- <ComplexMenu {...navMenu} />
70
- {@render actionButtons()}
71
- {/if}
72
- </nav>
1
+ <script lang="ts">
2
+ import { LanguageSwitcher } from "../../language-switcher";
3
+ import { LightSwitch } from "../../light-switch";
4
+ import { useDevice } from "../../../../hooks/responsive.svelte";
5
+ import type { ComplexMenuProps, SimpleMenuProps } from "../../../../types";
6
+ import ComplexMenu from "./ComplexMenu.svelte";
7
+ import ComplexMenuMobile from "./mobile/ComplexMenuMobile.svelte";
8
+ import SimpleMenuMobile from "./mobile/SimpleMenuMobile.svelte";
9
+ import MenuButton from "./shared/MenuButton.svelte";
10
+ import MenuLogo from "./shared/MenuLogo.svelte";
11
+ import type { MenuProps, MenuVarientProps } from "../data/types";
12
+ import SimpleMenu from "./SimpleMenu.svelte";
13
+
14
+ let {
15
+ logo,
16
+ navMenu,
17
+ isBorder,
18
+ navMenuButton,
19
+ isLightSwitch,
20
+ isLanguageSwitcher,
21
+ }: MenuProps & {
22
+ navMenu: MenuVarientProps;
23
+ } = $props();
24
+
25
+ function isLinks(item: MenuVarientProps | undefined): item is SimpleMenuProps {
26
+ return item !== undefined && "links" in item;
27
+ }
28
+
29
+ function isMenu(item: MenuVarientProps | undefined): item is ComplexMenuProps {
30
+ return item !== undefined && "menus" in item;
31
+ }
32
+
33
+ const responsive = useDevice();
34
+ </script>
35
+
36
+ {#snippet actionButtons()}
37
+ <div class="flex items-center gap-2">
38
+ {#if isLightSwitch}
39
+ <LightSwitch />
40
+ {/if}
41
+ {#if isLanguageSwitcher}
42
+ <LanguageSwitcher />
43
+ {/if}
44
+ {#if navMenuButton}
45
+ <MenuButton {...navMenuButton} />
46
+ {/if}
47
+ </div>
48
+ {/snippet}
49
+
50
+ <nav
51
+ class="flex items-center justify-between p-2 md:p-5 w-full {isBorder
52
+ ? 'border-b-2'
53
+ : ''}"
54
+ >
55
+ {#if logo}
56
+ <MenuLogo {...logo} />
57
+ {/if}
58
+
59
+ {#if responsive.isMobile}
60
+ {#if isLinks(navMenu)}
61
+ <SimpleMenuMobile {...navMenu} />
62
+ {:else if isMenu(navMenu)}
63
+ <ComplexMenuMobile {...navMenu} />
64
+ {/if}
65
+ {:else if isLinks(navMenu)}
66
+ <SimpleMenu {...navMenu} />
67
+ {@render actionButtons()}
68
+ {:else if isMenu(navMenu)}
69
+ <ComplexMenu {...navMenu} />
70
+ {@render actionButtons()}
71
+ {/if}
72
+ </nav>
@@ -1,14 +1,14 @@
1
- <script lang="ts">
2
- import type { SimpleMenuProps } from "../data/nav-menu";
3
- import MenuLinks from "./shared/MenuLinks.svelte";
4
-
5
- let { ...restProps }: SimpleMenuProps = $props();
6
- </script>
7
-
8
- {#if restProps.align === "LINK_INTO_ACTIONS"}
9
- <div class="flex items-center gap-2 w-full">
10
- <MenuLinks {...restProps} orientation="vertical" />
11
- </div>
12
- {:else}
13
- <MenuLinks {...restProps} orientation="horizontal" />
14
- {/if}
1
+ <script lang="ts">
2
+ import type { SimpleMenuProps } from "../data/nav-menu";
3
+ import MenuLinks from "./shared/MenuLinks.svelte";
4
+
5
+ let { ...restProps }: SimpleMenuProps = $props();
6
+ </script>
7
+
8
+ {#if restProps.align === "LINK_INTO_ACTIONS"}
9
+ <div class="flex items-center gap-2 w-full">
10
+ <MenuLinks {...restProps} orientation="vertical" />
11
+ </div>
12
+ {:else}
13
+ <MenuLinks {...restProps} orientation="horizontal" />
14
+ {/if}
@@ -1,125 +1,125 @@
1
- <script lang="ts">
2
- import type {
3
- ComplexMenuProps,
4
- NavigationMenuItemCardProps,
5
- NavigationMenuItemGridProps,
6
- NavigationMenuItemListProps,
7
- NavigationMenuItemsProps,
8
- NavigationMenuItemProps,
9
- } from "../../data/types";
10
- import {
11
- isCard,
12
- isGrid,
13
- isList,
14
- isItems,
15
- isItem,
16
- } from "../../data/complex-menu-utils";
17
- import CollapsibleNavMenu from "../shared/CollapsibleNavMenu.svelte";
18
- import NavMenuItem from "../shared/NavMenuItem.svelte";
19
- import MenuMobile from "./MenuMobile.svelte";
20
-
21
- let { menus: links }: ComplexMenuProps = $props();
22
- </script>
23
-
24
- {#snippet headerSnippet(
25
- header: NonNullable<NavigationMenuItemCardProps["header"]>,
26
- )}
27
- <div class="mt-4 mb-2 text-lg font-medium {header.labelClass}">
28
- {header.label}
29
- </div>
30
- <p
31
- class="text-sm leading-tight {header.descriptionClass ||
32
- 'text-muted-foreground'}"
33
- >
34
- {header.description}
35
- </p>
36
- {/snippet}
37
-
38
- <MenuMobile>
39
- <div class="flex flex-col gap-1">
40
- {#each links as link, i (i)}
41
- {#if isCard(link)}
42
- {@const card = link as NavigationMenuItemCardProps}
43
- <CollapsibleNavMenu label={card.label ?? card.header?.label ?? ""}>
44
- <ul class="grid gap-2 p-2">
45
- {#if card.header}
46
- <li
47
- class="relative row-span-3"
48
- style={card.header.imgUrl
49
- ? `background-image: url(${card.header.imgUrl}); background-repeat: no-repeat; background-size: cover; background-position: center; border-radius: 12px;`
50
- : ""}
51
- >
52
- <a
53
- href={card.header.href ?? "#"}
54
- class="flex h-full w-full flex-col justify-end p-4 {card
55
- .header.imgUrl
56
- ? 'no-underline outline-hidden select-none'
57
- : 'bg-linear-to-b from-muted/50 to-muted rounded-md'}"
58
- >
59
- {@render headerSnippet(card.header)}
60
- </a>
61
- </li>
62
- {/if}
63
- {#if card.cards}
64
- {#each card.cards as item, j (j)}
65
- <NavMenuItem {...item} />
66
- {/each}
67
- {/if}
68
- </ul>
69
- </CollapsibleNavMenu>
70
- {:else if isGrid(link)}
71
- {@const grid = link as NavigationMenuItemGridProps}
72
- <CollapsibleNavMenu label={grid.label}>
73
- <ul class="grid grid-cols-2 gap-2 max-h-37.5 overflow-y-auto p-2">
74
- {#each grid.grids ?? [] as item, j (j)}
75
- <NavMenuItem {...item} />
76
- {/each}
77
- </ul>
78
- </CollapsibleNavMenu>
79
- {:else if isList(link)}
80
- {@const list = link as NavigationMenuItemListProps}
81
- <CollapsibleNavMenu label={list.label}>
82
- <ul class="grid gap-4 p-2">
83
- {#each list.list ?? [] as item, j (j)}
84
- <li>
85
- <a
86
- href={item.href}
87
- class="block rounded-md p-2 no-underline hover:bg-accent"
88
- >
89
- <div class="font-medium">{item.title ?? ""}</div>
90
- <div class="text-sm text-muted-foreground">
91
- {item.content}
92
- </div>
93
- </a>
94
- </li>
95
- {/each}
96
- </ul>
97
- </CollapsibleNavMenu>
98
- {:else if isItems(link)}
99
- {@const items = link as NavigationMenuItemsProps}
100
- <CollapsibleNavMenu label={items.label}>
101
- <ul class="grid min-w-50 gap-4 p-2">
102
- {#each items.items ?? [] as item, j (j)}
103
- <li>
104
- <a
105
- href={item.href}
106
- class="block rounded-md px-3 py-2 text-sm font-medium no-underline hover:bg-accent"
107
- >
108
- {item.title}
109
- </a>
110
- </li>
111
- {/each}
112
- </ul>
113
- </CollapsibleNavMenu>
114
- {:else if isItem(link)}
115
- {@const item = link as NavigationMenuItemProps}
116
- <a
117
- href={item.href}
118
- class="block w-full rounded-xl px-3 py-2 text-sm font-medium no-underline hover:bg-accent focus:bg-accent"
119
- >
120
- {item.label}
121
- </a>
122
- {/if}
123
- {/each}
124
- </div>
125
- </MenuMobile>
1
+ <script lang="ts">
2
+ import type {
3
+ ComplexMenuProps,
4
+ NavigationMenuItemCardProps,
5
+ NavigationMenuItemGridProps,
6
+ NavigationMenuItemListProps,
7
+ NavigationMenuItemsProps,
8
+ NavigationMenuItemProps,
9
+ } from "../../data/types";
10
+ import {
11
+ isCard,
12
+ isGrid,
13
+ isList,
14
+ isItems,
15
+ isItem,
16
+ } from "../../data/complex-menu-utils";
17
+ import CollapsibleNavMenu from "../shared/CollapsibleNavMenu.svelte";
18
+ import NavMenuItem from "../shared/NavMenuItem.svelte";
19
+ import MenuMobile from "./MenuMobile.svelte";
20
+
21
+ let { menus: links }: ComplexMenuProps = $props();
22
+ </script>
23
+
24
+ {#snippet headerSnippet(
25
+ header: NonNullable<NavigationMenuItemCardProps["header"]>,
26
+ )}
27
+ <div class="mt-4 mb-2 text-lg font-medium {header.labelClass}">
28
+ {header.label}
29
+ </div>
30
+ <p
31
+ class="text-sm leading-tight {header.descriptionClass ||
32
+ 'text-muted-foreground'}"
33
+ >
34
+ {header.description}
35
+ </p>
36
+ {/snippet}
37
+
38
+ <MenuMobile>
39
+ <div class="flex flex-col gap-1">
40
+ {#each links as link, i (i)}
41
+ {#if isCard(link)}
42
+ {@const card = link as NavigationMenuItemCardProps}
43
+ <CollapsibleNavMenu label={card.label ?? card.header?.label ?? ""}>
44
+ <ul class="grid gap-2 p-2">
45
+ {#if card.header}
46
+ <li
47
+ class="relative row-span-3"
48
+ style={card.header.imgUrl
49
+ ? `background-image: url(${card.header.imgUrl}); background-repeat: no-repeat; background-size: cover; background-position: center; border-radius: 12px;`
50
+ : ""}
51
+ >
52
+ <a
53
+ href={card.header.href ?? "#"}
54
+ class="flex h-full w-full flex-col justify-end p-4 {card
55
+ .header.imgUrl
56
+ ? 'no-underline outline-hidden select-none'
57
+ : 'bg-linear-to-b from-muted/50 to-muted rounded-md'}"
58
+ >
59
+ {@render headerSnippet(card.header)}
60
+ </a>
61
+ </li>
62
+ {/if}
63
+ {#if card.cards}
64
+ {#each card.cards as item, j (j)}
65
+ <NavMenuItem {...item} />
66
+ {/each}
67
+ {/if}
68
+ </ul>
69
+ </CollapsibleNavMenu>
70
+ {:else if isGrid(link)}
71
+ {@const grid = link as NavigationMenuItemGridProps}
72
+ <CollapsibleNavMenu label={grid.label}>
73
+ <ul class="grid grid-cols-2 gap-2 max-h-37.5 overflow-y-auto p-2">
74
+ {#each grid.grids ?? [] as item, j (j)}
75
+ <NavMenuItem {...item} />
76
+ {/each}
77
+ </ul>
78
+ </CollapsibleNavMenu>
79
+ {:else if isList(link)}
80
+ {@const list = link as NavigationMenuItemListProps}
81
+ <CollapsibleNavMenu label={list.label}>
82
+ <ul class="grid gap-4 p-2">
83
+ {#each list.list ?? [] as item, j (j)}
84
+ <li>
85
+ <a
86
+ href={item.href}
87
+ class="block rounded-md p-2 no-underline hover:bg-accent"
88
+ >
89
+ <div class="font-medium">{item.title ?? ""}</div>
90
+ <div class="text-sm text-muted-foreground">
91
+ {item.content}
92
+ </div>
93
+ </a>
94
+ </li>
95
+ {/each}
96
+ </ul>
97
+ </CollapsibleNavMenu>
98
+ {:else if isItems(link)}
99
+ {@const items = link as NavigationMenuItemsProps}
100
+ <CollapsibleNavMenu label={items.label}>
101
+ <ul class="grid min-w-50 gap-4 p-2">
102
+ {#each items.items ?? [] as item, j (j)}
103
+ <li>
104
+ <a
105
+ href={item.href}
106
+ class="block rounded-md px-3 py-2 text-sm font-medium no-underline hover:bg-accent"
107
+ >
108
+ {item.title}
109
+ </a>
110
+ </li>
111
+ {/each}
112
+ </ul>
113
+ </CollapsibleNavMenu>
114
+ {:else if isItem(link)}
115
+ {@const item = link as NavigationMenuItemProps}
116
+ <a
117
+ href={item.href}
118
+ class="block w-full rounded-xl px-3 py-2 text-sm font-medium no-underline hover:bg-accent focus:bg-accent"
119
+ >
120
+ {item.label}
121
+ </a>
122
+ {/if}
123
+ {/each}
124
+ </div>
125
+ </MenuMobile>
@@ -1,54 +1,54 @@
1
- <script lang="ts">
2
- import * as Drawer from "../../../drawer/index.js";
3
- import type { NavMenuButtonProps } from "../../data/nav-menu";
4
- import { buttonVariants } from "../../../button/index.js";
5
- import { cn } from "../../../../../utils.js";
6
- import { HugeiconsIcon } from "@hugeicons/svelte";
7
- import { Menu } from "@hugeicons/core-free-icons";
8
- import LightSwitch from "../../../light-switch/light-switch.svelte";
9
- import LanguageSwitcher from "../../../language-switcher/language-switcher.svelte";
10
- import { t } from "../../../../../i18n";
11
- import type { Snippet } from "svelte";
12
-
13
- type Props = {
14
- navMenuButton?: NavMenuButtonProps;
15
- isLightSwitch?: boolean;
16
- isLanguageSwitcher?: boolean;
17
- children: Snippet;
18
- };
19
-
20
- const { navMenuButton, isLightSwitch, isLanguageSwitcher, children }: Props =
21
- $props();
22
- </script>
23
-
24
- <div class="flex flex-wrap gap-2">
25
- <Drawer.Root direction="right">
26
- <Drawer.Trigger
27
- class={cn(buttonVariants({ variant: "outline" }), "capitalize")}
28
- >
29
- <HugeiconsIcon icon={Menu} />
30
- </Drawer.Trigger>
31
- <Drawer.Content
32
- class="data-[vaul-drawer-direction=bottom]:max-h-[50vh] data-[vaul-drawer-direction=top]:max-h-[50vh]"
33
- >
34
- <Drawer.Header>
35
- <Drawer.Title>{$t("label.menu")}</Drawer.Title>
36
- <Drawer.Description>
37
- {$t("label.navigation.text")}
38
- </Drawer.Description>
39
- </Drawer.Header>
40
- <div class="no-scrollbar overflow-y-auto px-4">
41
- {@render children()}
42
- </div>
43
- <Drawer.Footer>
44
- <div class="flex justify-center gap-5 py-5">
45
- <LightSwitch />
46
- <LanguageSwitcher />
47
- </div>
48
- <Drawer.Close class={buttonVariants({ variant: "outline" })}>
49
- {$t("label.close")}
50
- </Drawer.Close>
51
- </Drawer.Footer>
52
- </Drawer.Content>
53
- </Drawer.Root>
54
- </div>
1
+ <script lang="ts">
2
+ import * as Drawer from "../../../drawer/index.js";
3
+ import type { NavMenuButtonProps } from "../../data/nav-menu";
4
+ import { buttonVariants } from "../../../button/index.js";
5
+ import { cn } from "../../../../../utils.js";
6
+ import { HugeiconsIcon } from "@hugeicons/svelte";
7
+ import { Menu } from "@hugeicons/core-free-icons";
8
+ import LightSwitch from "../../../light-switch/light-switch.svelte";
9
+ import LanguageSwitcher from "../../../language-switcher/language-switcher.svelte";
10
+ import { t } from "../../../../../i18n";
11
+ import type { Snippet } from "svelte";
12
+
13
+ type Props = {
14
+ navMenuButton?: NavMenuButtonProps;
15
+ isLightSwitch?: boolean;
16
+ isLanguageSwitcher?: boolean;
17
+ children: Snippet;
18
+ };
19
+
20
+ const { navMenuButton, isLightSwitch, isLanguageSwitcher, children }: Props =
21
+ $props();
22
+ </script>
23
+
24
+ <div class="flex flex-wrap gap-2">
25
+ <Drawer.Root direction="right">
26
+ <Drawer.Trigger
27
+ class={cn(buttonVariants({ variant: "outline" }), "capitalize")}
28
+ >
29
+ <HugeiconsIcon icon={Menu} />
30
+ </Drawer.Trigger>
31
+ <Drawer.Content
32
+ class="data-[vaul-drawer-direction=bottom]:max-h-[50vh] data-[vaul-drawer-direction=top]:max-h-[50vh]"
33
+ >
34
+ <Drawer.Header>
35
+ <Drawer.Title>{$t("label.menu")}</Drawer.Title>
36
+ <Drawer.Description>
37
+ {$t("label.navigation.text")}
38
+ </Drawer.Description>
39
+ </Drawer.Header>
40
+ <div class="no-scrollbar overflow-y-auto px-4">
41
+ {@render children()}
42
+ </div>
43
+ <Drawer.Footer>
44
+ <div class="flex justify-center gap-5 py-5">
45
+ <LightSwitch />
46
+ <LanguageSwitcher />
47
+ </div>
48
+ <Drawer.Close class={buttonVariants({ variant: "outline" })}>
49
+ {$t("label.close")}
50
+ </Drawer.Close>
51
+ </Drawer.Footer>
52
+ </Drawer.Content>
53
+ </Drawer.Root>
54
+ </div>