negodesign 0.0.78 → 0.0.80
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/README.md +133 -133
- package/dist/components/NegoDesign.svelte +21 -21
- package/dist/components/pages/admin/01/ui/AdminContent.svelte +14 -14
- package/dist/components/pages/admin/01/ui/AdminPanel.svelte +46 -46
- package/dist/components/pages/product-details/shared/ProductDetailFilesVertical.svelte +103 -103
- package/dist/components/pages/profile-user/shared/ProfileUserAddress.svelte +83 -83
- package/dist/components/pages/profile-user/shared/ProfileUserTabs.svelte +80 -80
- package/dist/components/pages/security/auth/PageAuth01.svelte +21 -24
- package/dist/components/pages/security/auth/PageAuth02.svelte +11 -16
- package/dist/components/pages/security/auth/PageAuth03.svelte +11 -16
- package/dist/components/pages/security/login/01/ui/FormLogin.svelte +7 -5
- package/dist/components/pages/security/login/01/ui/FormLogin.svelte.d.ts +2 -0
- package/dist/components/pages/security/login/01/ui/FormLoginEmailPassword.svelte +4 -2
- package/dist/components/pages/security/login/01/ui/FormLoginEmailPassword.svelte.d.ts +2 -0
- package/dist/components/pages/security/login/01/ui/FormLoginPhonePassword.svelte +4 -2
- package/dist/components/pages/security/login/01/ui/FormLoginPhonePassword.svelte.d.ts +2 -0
- package/dist/components/pages/security/login/01/ui/FormLoginUsernamePassword.svelte +4 -2
- package/dist/components/pages/security/login/01/ui/FormLoginUsernamePassword.svelte.d.ts +2 -0
- package/dist/components/pages/security/login/01/ui/{LoginCard.svelte → LoginCard01.svelte} +132 -109
- package/dist/components/pages/security/login/01/ui/{LoginCard.svelte.d.ts → LoginCard01.svelte.d.ts} +3 -3
- package/dist/components/pages/security/login/01/ui/PageLogin01.svelte +2 -2
- package/dist/components/pages/security/login/02/ui/FormLogin02.svelte +7 -5
- package/dist/components/pages/security/login/02/ui/FormLogin02.svelte.d.ts +2 -0
- package/dist/components/pages/security/login/02/ui/FormLoginEmailPassword02.svelte +4 -2
- package/dist/components/pages/security/login/02/ui/FormLoginEmailPassword02.svelte.d.ts +2 -0
- package/dist/components/pages/security/login/02/ui/FormLoginPhonePassword02.svelte +4 -2
- package/dist/components/pages/security/login/02/ui/FormLoginPhonePassword02.svelte.d.ts +2 -0
- package/dist/components/pages/security/login/02/ui/FormLoginUsernamePassword02.svelte +4 -2
- package/dist/components/pages/security/login/02/ui/FormLoginUsernamePassword02.svelte.d.ts +2 -0
- package/dist/components/pages/security/login/03/ui/FormLogin03.svelte +8 -4
- package/dist/components/pages/security/login/03/ui/FormLogin03.svelte.d.ts +2 -0
- package/dist/components/pages/security/login/03/ui/FormLoginEmailPassword03.svelte +4 -2
- package/dist/components/pages/security/login/03/ui/FormLoginEmailPassword03.svelte.d.ts +2 -0
- package/dist/components/pages/security/login/03/ui/FormLoginPhonePassword03.svelte +4 -2
- package/dist/components/pages/security/login/03/ui/FormLoginPhonePassword03.svelte.d.ts +2 -0
- package/dist/components/pages/security/login/03/ui/FormLoginUsernamePassword03.svelte +4 -2
- package/dist/components/pages/security/login/03/ui/FormLoginUsernamePassword03.svelte.d.ts +2 -0
- package/dist/components/pages/security/login/PageLogin.svelte +30 -30
- package/dist/components/pages/security/register/01/ui/PageRegister01.svelte +21 -9
- package/dist/components/pages/security/register/01/ui/PageRegister01.svelte.d.ts +1 -0
- package/dist/components/pages/security/register/01/ui/{RegisterCard.svelte → RegisterCard01.svelte} +26 -22
- package/dist/components/pages/security/register/01/ui/{RegisterCard.svelte.d.ts → RegisterCard01.svelte.d.ts} +3 -3
- package/dist/components/pages/security/register/FormRegister.svelte +40 -14
- package/dist/components/pages/security/register/FormRegister.svelte.d.ts +3 -0
- package/dist/components/ui/avatar/avatar-fallback.svelte +29 -29
- package/dist/components/ui/avatar/avatar-image.svelte +38 -38
- package/dist/components/ui/avatar/avatar.svelte +39 -39
- package/dist/components/ui/badge/badge.svelte +46 -46
- package/dist/components/ui/banner/AdCardBanner.svelte +74 -74
- package/dist/components/ui/banner/CtaCardBanner.svelte +118 -118
- package/dist/components/ui/banner/CtaCardImageBanner.svelte +94 -94
- package/dist/components/ui/breadcrumb/core/breadcrumb-list.svelte +31 -31
- package/dist/components/ui/button/ButtonBack.svelte +18 -18
- package/dist/components/ui/button/ButtonLogin.svelte +15 -15
- package/dist/components/ui/button/ButtonLoginWith.svelte +57 -57
- package/dist/components/ui/button/ButtonSend.svelte +15 -15
- package/dist/components/ui/button/button.svelte +85 -85
- package/dist/components/ui/card/core/highlight/01/CardHighlight01.svelte +103 -103
- package/dist/components/ui/card/core/highlight/02/CardHighlight02.svelte +99 -99
- package/dist/components/ui/card/core/highlight/CardHighlight.svelte +22 -22
- package/dist/components/ui/card/core/media/01/CardMedia01.svelte +133 -133
- package/dist/components/ui/card/core/media/02/CardMedia02.svelte +127 -127
- package/dist/components/ui/card/core/media/CardMedia.svelte +18 -18
- package/dist/components/ui/card/core/product/01/CardProduct01.svelte +136 -136
- package/dist/components/ui/card/core/product/02/CardProduct02.svelte +124 -124
- package/dist/components/ui/card/core/product/CardProduct.svelte +22 -22
- package/dist/components/ui/card/core/profile/01/CardProfile01.svelte +134 -134
- package/dist/components/ui/card/core/profile/02/CardProfile02.svelte +132 -132
- package/dist/components/ui/card/core/profile/CardProfile.svelte +18 -18
- package/dist/components/ui/card/core/promotion/CardPromotion.svelte +139 -139
- package/dist/components/ui/card/core/promotion/CardPromotionPrice.svelte +32 -32
- package/dist/components/ui/card/core/shared/CardButton.svelte +42 -42
- package/dist/components/ui/card/core/shared/CardCart.svelte +36 -36
- package/dist/components/ui/card/core/shared/CardDescription.svelte +41 -41
- package/dist/components/ui/card/core/shared/CardFavorite.svelte +33 -33
- package/dist/components/ui/card/core/shared/CardLogo.svelte +19 -19
- package/dist/components/ui/card/core/shared/CardPhoneOrWhatsapp.svelte +45 -45
- package/dist/components/ui/card/core/shared/CardStarRating.svelte +24 -24
- package/dist/components/ui/card/core/shared/CardTags.svelte +95 -95
- package/dist/components/ui/card/core/shared/CardThumbnailVideo.svelte +232 -232
- package/dist/components/ui/card/core/shared/CardTitlePrice.svelte +24 -24
- package/dist/components/ui/card/core/shared/TruncatableText.svelte +49 -49
- package/dist/components/ui/carousel/carousel-content.svelte +56 -56
- package/dist/components/ui/carousel/carousel-item.svelte +29 -29
- package/dist/components/ui/carousel/carousel-next.svelte +40 -40
- package/dist/components/ui/carousel/carousel-previous.svelte +40 -40
- package/dist/components/ui/carousel/carousel.svelte +225 -225
- package/dist/components/ui/carousel/core/badge/ui/CarouselBadge.svelte +108 -108
- package/dist/components/ui/carousel/core/grid/shared/ui/CarouselGridSlot.svelte +38 -38
- package/dist/components/ui/carousel/core/hero/ui/CarouselHero.svelte +181 -181
- package/dist/components/ui/carousel/core/highlights/ui/CarouselHighlights.svelte +67 -67
- package/dist/components/ui/carousel/core/product/ui/CarouselProduct.svelte +57 -57
- package/dist/components/ui/carousel/core/promotion/ui/CarouselPromotion.svelte +67 -67
- package/dist/components/ui/carousel/core/shared/ui/CarouselHeader.svelte +59 -59
- package/dist/components/ui/checkbox/checkbox.svelte +96 -96
- package/dist/components/ui/collapsible/collapsible-content.svelte +30 -30
- package/dist/components/ui/collapsible/collapsible-trigger.svelte +51 -51
- package/dist/components/ui/collapsible/collapsible.svelte +66 -66
- package/dist/components/ui/data-table/flex-render.svelte +40 -40
- package/dist/components/ui/datatable/ui/DataTableActions.svelte +28 -28
- package/dist/components/ui/datatable/ui/DataTableCheckbox.svelte +22 -22
- package/dist/components/ui/datatable/ui/DataTableContent.svelte +59 -59
- package/dist/components/ui/datatable/ui/DataTableCore.svelte +148 -148
- package/dist/components/ui/datatable/ui/DataTableDragHandle.svelte +8 -8
- package/dist/components/ui/datatable/ui/DataTableListFilter.svelte +60 -60
- package/dist/components/ui/datatable/ui/DataTableListPagination.svelte +35 -35
- package/dist/components/ui/drawer/drawer-close.svelte +41 -41
- package/dist/components/ui/drawer/drawer-content.svelte +81 -81
- package/dist/components/ui/drawer/drawer-description.svelte +19 -19
- package/dist/components/ui/drawer/drawer-footer.svelte +20 -20
- package/dist/components/ui/drawer/drawer-header.svelte +20 -20
- package/dist/components/ui/drawer/drawer-nested.svelte +34 -34
- package/dist/components/ui/drawer/drawer-overlay.svelte +25 -25
- package/dist/components/ui/drawer/drawer-portal.svelte +19 -19
- package/dist/components/ui/drawer/drawer-title.svelte +19 -19
- package/dist/components/ui/drawer/drawer-trigger.svelte +42 -42
- package/dist/components/ui/drawer/drawer.svelte +74 -74
- package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-group.svelte +25 -25
- package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte +69 -69
- package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte +106 -106
- package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte +27 -27
- package/dist/components/ui/dropdown-menu/dropdown-menu-group.svelte +21 -21
- package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte +60 -60
- package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte +27 -27
- package/dist/components/ui/dropdown-menu/dropdown-menu-portal.svelte +6 -6
- package/dist/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte +43 -43
- package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte +70 -70
- package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte +20 -20
- package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte +33 -33
- package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte +57 -57
- package/dist/components/ui/dropdown-menu/dropdown-menu-sub.svelte +76 -76
- package/dist/components/ui/dropdown-menu/dropdown-menu-trigger.svelte +68 -68
- package/dist/components/ui/dropdown-menu/dropdown-menu.svelte +53 -53
- package/dist/components/ui/empty/empty-content.svelte +19 -19
- package/dist/components/ui/empty/empty-description.svelte +19 -19
- package/dist/components/ui/empty/empty-header.svelte +19 -19
- package/dist/components/ui/empty/empty-media.svelte +41 -41
- package/dist/components/ui/empty/empty-title.svelte +19 -19
- package/dist/components/ui/empty/empty.svelte +19 -19
- package/dist/components/ui/footer/ui/Footer.svelte +18 -18
- package/dist/components/ui/form/data/InputIconDefault.svelte.js +2 -1
- package/dist/components/ui/form/data/InputLabel.svelte.d.ts +3 -0
- package/dist/components/ui/form/ui/calendar/Calendar.svelte +194 -0
- package/dist/components/ui/form/ui/calendar/Calendar.svelte.d.ts +15 -0
- package/dist/components/ui/form/ui/calendar/CalendarCard.svelte +90 -0
- package/dist/components/ui/form/ui/calendar/CalendarCard.svelte.d.ts +20 -0
- package/dist/components/ui/form/ui/calendar/DaysGrid.svelte +76 -0
- package/dist/components/ui/form/ui/calendar/DaysGrid.svelte.d.ts +17 -0
- package/dist/components/ui/form/ui/calendar/MonthSelect.svelte +50 -0
- package/dist/components/ui/form/ui/calendar/MonthSelect.svelte.d.ts +10 -0
- package/dist/components/ui/form/ui/calendar/YearSelect.svelte +117 -0
- package/dist/components/ui/form/ui/calendar/YearSelect.svelte.d.ts +15 -0
- package/dist/components/ui/form/ui/calendar/index.d.ts +5 -0
- package/dist/components/ui/form/ui/calendar/index.js +5 -0
- package/dist/components/ui/form/ui/calendar/utils.d.ts +26 -0
- package/dist/components/ui/form/ui/calendar/utils.js +89 -0
- package/dist/components/ui/form/ui/input-base.svelte +83 -81
- package/dist/components/ui/form/ui/input-calendar-interval.svelte +179 -0
- package/dist/components/ui/form/ui/input-calendar-interval.svelte.d.ts +14 -0
- package/dist/components/ui/form/ui/input-calendar.svelte +110 -0
- package/dist/components/ui/form/ui/input-calendar.svelte.d.ts +9 -0
- package/dist/components/ui/form/ui/input-email-or-phone.svelte +23 -23
- package/dist/components/ui/form/ui/input-email.svelte +23 -23
- package/dist/components/ui/form/ui/input-password-confirm.svelte +23 -23
- package/dist/components/ui/form/ui/input-password.svelte +23 -23
- package/dist/components/ui/form/ui/input-phone.svelte +37 -33
- package/dist/components/ui/form/ui/input-select.svelte +210 -158
- package/dist/components/ui/form/ui/input-select.svelte.d.ts +5 -9
- package/dist/components/ui/form/ui/input-username.svelte +22 -22
- package/dist/components/ui/grid/core/ui/01/Grid01.svelte +30 -30
- package/dist/components/ui/grid/core/ui/02/Grid02.svelte +30 -30
- package/dist/components/ui/grid/core/ui/ItemsPanel.svelte +26 -26
- package/dist/components/ui/grid/core/ui/ItemsPanelCarousel.svelte +37 -37
- package/dist/components/ui/grid/core/ui/ItemsPanelGrid.svelte +43 -43
- package/dist/components/ui/grid/core/ui/ItemsSimpleGrid.svelte +45 -45
- package/dist/components/ui/grid/core/ui/shared/DescriptionGrid.svelte +23 -23
- package/dist/components/ui/grid/core/ui/shared/IconRenderGrid.svelte +23 -23
- package/dist/components/ui/grid/core/ui/shared/TitleGrid.svelte +19 -19
- package/dist/components/ui/hero/SimpleHero.svelte +65 -65
- package/dist/components/ui/input-otp/input-otp-group.svelte +22 -22
- package/dist/components/ui/input-otp/input-otp-separator.svelte +27 -27
- package/dist/components/ui/input-otp/input-otp-slot.svelte +63 -63
- package/dist/components/ui/input-otp/input-otp.svelte +181 -181
- package/dist/components/ui/label/core/LabelOr.svelte +25 -25
- package/dist/components/ui/label/label.svelte +19 -19
- package/dist/components/ui/language-switcher/language-switcher.svelte +48 -48
- package/dist/components/ui/light-switch/light-switch.svelte +48 -48
- package/dist/components/ui/link/link-forget-password.svelte +12 -12
- package/dist/components/ui/link/link-privacy-polity.svelte +12 -12
- package/dist/components/ui/link/link-terms-of-service.svelte +12 -12
- package/dist/components/ui/modal/core/ui/ModalCore.svelte +132 -132
- package/dist/components/ui/modal/grid/ui/02/ModalGridSelection02.svelte +146 -146
- package/dist/components/ui/modal/share/ui/ModalShareSelection.svelte +156 -156
- package/dist/components/ui/nav/ui/ComplexMenu.svelte +51 -51
- package/dist/components/ui/nav/ui/Menu.svelte +72 -72
- package/dist/components/ui/nav/ui/SimpleMenu.svelte +14 -14
- package/dist/components/ui/nav/ui/mobile/ComplexMenuMobile.svelte +125 -125
- package/dist/components/ui/nav/ui/mobile/MenuMobile.svelte +54 -54
- package/dist/components/ui/nav/ui/shared/MenuButton.svelte +51 -51
- package/dist/components/ui/nav/ui/shared/MenuLinks.svelte +40 -40
- package/dist/components/ui/nav/ui/shared/MenuListItem.svelte +44 -44
- package/dist/components/ui/nav/ui/shared/MenuLogo.svelte +13 -13
- package/dist/components/ui/nav/ui/shared/dropdown/DropdownNavigationMenuItemGrid.svelte +30 -30
- package/dist/components/ui/nav/ui/shared/navigation/NavDropdown.svelte +88 -87
- package/dist/components/ui/nav/ui/shared/navigation/NavigationMenuItem.svelte +17 -17
- package/dist/components/ui/nav/ui/shared/navigation/NavigationMenuItemCard.svelte +53 -53
- package/dist/components/ui/nav/ui/shared/navigation/NavigationMenuItemGrid.svelte +36 -36
- package/dist/components/ui/nav/ui/shared/navigation/NavigationMenuItemList.svelte +24 -24
- package/dist/components/ui/nav/ui/shared/navigation/NavigationMenuItems.svelte +21 -21
- package/dist/components/ui/panel/CarouselSlot.svelte +57 -57
- package/dist/components/ui/panel/LeftHero.svelte +114 -114
- package/dist/components/ui/panel/NotFoundEmpty.svelte +66 -66
- package/dist/components/ui/phone-input/country-selector.svelte +87 -87
- package/dist/components/ui/phone-input/country-selector.svelte.d.ts +2 -2
- package/dist/components/ui/phone-input/flag.svelte +11 -11
- package/dist/components/ui/phone-input/phone-input.svelte +163 -148
- package/dist/components/ui/phone-input/phone-input.svelte.d.ts +2 -2
- package/dist/components/ui/popover/popover-close.svelte +25 -25
- package/dist/components/ui/popover/popover-content.svelte +92 -92
- package/dist/components/ui/popover/popover-portal.svelte +6 -6
- package/dist/components/ui/popover/popover-trigger.svelte +68 -68
- package/dist/components/ui/popover/popover.svelte +53 -53
- package/dist/components/ui/search/SearchInput.svelte +32 -32
- package/dist/components/ui/search/shared/SearchInputCore.svelte +66 -66
- package/dist/components/ui/separator/separator.svelte +28 -28
- package/dist/components/ui/sidebar/core/MenuBarSidebar.svelte +70 -70
- package/dist/components/ui/sidebar/core/ui/navbar/NavMenuBarSidebar.svelte +97 -97
- package/dist/components/ui/sidebar/core/ui/navbar/NavMenuBottomSidebar.svelte +33 -33
- package/dist/components/ui/sidebar/core/ui/navbar/NavMenuTopBarSidebar.svelte +101 -101
- package/dist/components/ui/sidebar/core/ui/navbar/nav-menu-header-sidebar.svelte +77 -77
- package/dist/components/ui/sidebar/sidebar-content.svelte +24 -24
- package/dist/components/ui/sidebar/sidebar-footer.svelte +21 -21
- package/dist/components/ui/sidebar/sidebar-group-content.svelte +21 -21
- package/dist/components/ui/sidebar/sidebar-menu-action.svelte +38 -38
- package/dist/components/ui/sidebar/sidebar-menu-button.svelte +70 -70
- package/dist/components/ui/sidebar/sidebar-menu-sub-button.svelte +39 -39
- package/dist/components/ui/sidebar/sidebar-provider.svelte +62 -62
- package/dist/components/ui/sidebar/sidebar-rail.svelte +36 -36
- package/dist/components/ui/sidebar/sidebar-separator.svelte +21 -21
- package/dist/components/ui/sidebar/sidebar-trigger.svelte +36 -36
- package/dist/components/ui/sidebar/sidebar.svelte +118 -118
- package/dist/components/ui/skeleton/skeleton.svelte +19 -19
- package/dist/components/ui/star-rating/star-rating-star.svelte +66 -66
- package/dist/components/ui/star-rating/star-rating.svelte +149 -149
- package/dist/components/ui/table/table-body.svelte +15 -15
- package/dist/components/ui/table/table-caption.svelte +20 -20
- package/dist/components/ui/table/table-cell.svelte +15 -15
- package/dist/components/ui/table/table-footer.svelte +20 -20
- package/dist/components/ui/table/table-head.svelte +15 -15
- package/dist/components/ui/table/table-header.svelte +20 -20
- package/dist/components/ui/table/table-row.svelte +15 -15
- package/dist/components/ui/table/table.svelte +17 -17
- package/dist/components/ui/tabs/ui/tab-underline.svelte +43 -43
- package/dist/components/ui/underline-tabs/underline-tabs-content.svelte +33 -33
- package/dist/components/ui/underline-tabs/underline-tabs-list.svelte +40 -40
- package/dist/components/ui/underline-tabs/underline-tabs-trigger.svelte +91 -91
- package/dist/components/ui/underline-tabs/underline-tabs.svelte +61 -61
- package/dist/docs/ApiTable.svelte +42 -42
- package/dist/docs/CodeBlock.svelte +26 -26
- package/dist/docs/DocsHeader.svelte +25 -25
- package/dist/docs/DocsSidebar.svelte +108 -156
- package/dist/docs/components.js +638 -563
- package/dist/globals.css +68 -13
- package/dist/i18n/langs/en.d.ts +7 -0
- package/dist/i18n/langs/en.js +7 -0
- package/dist/i18n/langs/pt.d.ts +7 -0
- package/dist/i18n/langs/pt.js +7 -0
- package/dist/i18n/translations.d.ts +14 -0
- package/dist/index.d.ts +23 -0
- package/dist/index.js +23 -0
- package/dist/styles/globals.css +283 -283
- package/package.json +81 -81
- package/dist/components/pages/security/login/01/ui/FormRegister.svelte +0 -28
- package/dist/components/pages/security/login/01/ui/FormRegister.svelte.d.ts +0 -3
package/dist/docs/components.js
CHANGED
|
@@ -16,26 +16,26 @@ export const categories = [
|
|
|
16
16
|
"Login / Security",
|
|
17
17
|
"Full Pages",
|
|
18
18
|
];
|
|
19
|
-
const navButtonExample = `import { Menu } from "negodesign"
|
|
20
|
-
|
|
21
|
-
<Menu
|
|
22
|
-
isBorder
|
|
23
|
-
isLightSwitch
|
|
24
|
-
isLanguageSwitcher
|
|
25
|
-
logo={{ label: "Negoturismo" }}
|
|
26
|
-
navMenuButton={{
|
|
27
|
-
textButtonLogin: "Sign in",
|
|
28
|
-
textButtonRegister: "Register",
|
|
29
|
-
onclickButtonLogin: () => {},
|
|
30
|
-
onclickButtonRegister: () => {},
|
|
31
|
-
buttonClass: "bg-primary text-white",
|
|
32
|
-
}}
|
|
33
|
-
navMenu={{
|
|
34
|
-
links: [
|
|
35
|
-
{ label: "Home", url: "/", icon: Home01Icon },
|
|
36
|
-
{ label: "Accommodation", url: "/hospedagem", icon: Hotel01Icon },
|
|
37
|
-
],
|
|
38
|
-
}}
|
|
19
|
+
const navButtonExample = `import { Menu } from "negodesign"
|
|
20
|
+
|
|
21
|
+
<Menu
|
|
22
|
+
isBorder
|
|
23
|
+
isLightSwitch
|
|
24
|
+
isLanguageSwitcher
|
|
25
|
+
logo={{ label: "Negoturismo" }}
|
|
26
|
+
navMenuButton={{
|
|
27
|
+
textButtonLogin: "Sign in",
|
|
28
|
+
textButtonRegister: "Register",
|
|
29
|
+
onclickButtonLogin: () => {},
|
|
30
|
+
onclickButtonRegister: () => {},
|
|
31
|
+
buttonClass: "bg-primary text-white",
|
|
32
|
+
}}
|
|
33
|
+
navMenu={{
|
|
34
|
+
links: [
|
|
35
|
+
{ label: "Home", url: "/", icon: Home01Icon },
|
|
36
|
+
{ label: "Accommodation", url: "/hospedagem", icon: Hotel01Icon },
|
|
37
|
+
],
|
|
38
|
+
}}
|
|
39
39
|
/>`;
|
|
40
40
|
export const components = [
|
|
41
41
|
{
|
|
@@ -65,12 +65,12 @@ export const components = [
|
|
|
65
65
|
examples: [
|
|
66
66
|
{
|
|
67
67
|
title: "Search Field",
|
|
68
|
-
code: `import { SearchInput } from "negodesign"
|
|
69
|
-
|
|
70
|
-
<SearchInput
|
|
71
|
-
variant={1}
|
|
72
|
-
placeholder="Search..."
|
|
73
|
-
onSubmit={(q) => console.log(q)}
|
|
68
|
+
code: `import { SearchInput } from "negodesign"
|
|
69
|
+
|
|
70
|
+
<SearchInput
|
|
71
|
+
variant={1}
|
|
72
|
+
placeholder="Search..."
|
|
73
|
+
onSubmit={(q) => console.log(q)}
|
|
74
74
|
/>`,
|
|
75
75
|
},
|
|
76
76
|
],
|
|
@@ -93,14 +93,14 @@ export const components = [
|
|
|
93
93
|
examples: [
|
|
94
94
|
{
|
|
95
95
|
title: "Simple Hero",
|
|
96
|
-
code: `import { SimpleHero } from "negodesign"
|
|
97
|
-
|
|
98
|
-
<SimpleHero
|
|
99
|
-
title="Find your ideal stay"
|
|
100
|
-
subTitle="Welcome"
|
|
101
|
-
description="Verified hotels, guest houses and apartments."
|
|
102
|
-
image="/images/hero.jpg"
|
|
103
|
-
buttons={[{ label: "Explore", variant: "default" }]}
|
|
96
|
+
code: `import { SimpleHero } from "negodesign"
|
|
97
|
+
|
|
98
|
+
<SimpleHero
|
|
99
|
+
title="Find your ideal stay"
|
|
100
|
+
subTitle="Welcome"
|
|
101
|
+
description="Verified hotels, guest houses and apartments."
|
|
102
|
+
image="/images/hero.jpg"
|
|
103
|
+
buttons={[{ label: "Explore", variant: "default" }]}
|
|
104
104
|
/>`,
|
|
105
105
|
href: "/hero",
|
|
106
106
|
},
|
|
@@ -127,24 +127,24 @@ export const components = [
|
|
|
127
127
|
examples: [
|
|
128
128
|
{
|
|
129
129
|
title: "Carousel Hero",
|
|
130
|
-
code: `import { CarouselHero } from "negodesign"
|
|
131
|
-
|
|
132
|
-
<CarouselHero
|
|
133
|
-
titleClass="md:text-2xl lg:text-4xl"
|
|
134
|
-
descriptionClass="text-xs md:text-lg"
|
|
135
|
-
simpleMenu={{
|
|
136
|
-
logo: { url: "/", label: "Negoturismo", className: "text-white" },
|
|
137
|
-
links: [{ label: "Accommodation", url: "#", icon: Hotel01Icon }],
|
|
138
|
-
isLanguageSwitcher: false,
|
|
139
|
-
isLightSwitch: false,
|
|
140
|
-
}}
|
|
141
|
-
items={[
|
|
142
|
-
{
|
|
143
|
-
title: "Find your ideal stay",
|
|
144
|
-
description: "Verified hotels, guest houses and apartments.",
|
|
145
|
-
image: "https://images.unsplash.com/photo-1566073771259",
|
|
146
|
-
},
|
|
147
|
-
]}
|
|
130
|
+
code: `import { CarouselHero } from "negodesign"
|
|
131
|
+
|
|
132
|
+
<CarouselHero
|
|
133
|
+
titleClass="md:text-2xl lg:text-4xl"
|
|
134
|
+
descriptionClass="text-xs md:text-lg"
|
|
135
|
+
simpleMenu={{
|
|
136
|
+
logo: { url: "/", label: "Negoturismo", className: "text-white" },
|
|
137
|
+
links: [{ label: "Accommodation", url: "#", icon: Hotel01Icon }],
|
|
138
|
+
isLanguageSwitcher: false,
|
|
139
|
+
isLightSwitch: false,
|
|
140
|
+
}}
|
|
141
|
+
items={[
|
|
142
|
+
{
|
|
143
|
+
title: "Find your ideal stay",
|
|
144
|
+
description: "Verified hotels, guest houses and apartments.",
|
|
145
|
+
image: "https://images.unsplash.com/photo-1566073771259",
|
|
146
|
+
},
|
|
147
|
+
]}
|
|
148
148
|
/>`,
|
|
149
149
|
href: "/hero/carousel",
|
|
150
150
|
},
|
|
@@ -174,14 +174,14 @@ export const components = [
|
|
|
174
174
|
examples: [
|
|
175
175
|
{
|
|
176
176
|
title: "CTA Image Banner",
|
|
177
|
-
code: `import { CtaCardImageBanner } from "negodesign"
|
|
178
|
-
|
|
179
|
-
<CtaCardImageBanner
|
|
180
|
-
title="Let's get in touch"
|
|
181
|
-
description="Talk to us and discover the best offers."
|
|
182
|
-
primaryText="Contact"
|
|
183
|
-
primaryHref="#"
|
|
184
|
-
imageSrc="/images/banner.jpg"
|
|
177
|
+
code: `import { CtaCardImageBanner } from "negodesign"
|
|
178
|
+
|
|
179
|
+
<CtaCardImageBanner
|
|
180
|
+
title="Let's get in touch"
|
|
181
|
+
description="Talk to us and discover the best offers."
|
|
182
|
+
primaryText="Contact"
|
|
183
|
+
primaryHref="#"
|
|
184
|
+
imageSrc="/images/banner.jpg"
|
|
185
185
|
/>`,
|
|
186
186
|
href: "/banner",
|
|
187
187
|
},
|
|
@@ -212,13 +212,13 @@ export const components = [
|
|
|
212
212
|
examples: [
|
|
213
213
|
{
|
|
214
214
|
title: "Notification Banner",
|
|
215
|
-
code: `import { NotificationBanner } from "negodesign"
|
|
216
|
-
|
|
217
|
-
<NotificationBanner
|
|
218
|
-
strongText="New"
|
|
219
|
-
description="New offers available!"
|
|
220
|
-
ctaText="View offers"
|
|
221
|
-
onDismiss={() => console.log("dismissed")}
|
|
215
|
+
code: `import { NotificationBanner } from "negodesign"
|
|
216
|
+
|
|
217
|
+
<NotificationBanner
|
|
218
|
+
strongText="New"
|
|
219
|
+
description="New offers available!"
|
|
220
|
+
ctaText="View offers"
|
|
221
|
+
onDismiss={() => console.log("dismissed")}
|
|
222
222
|
/>`,
|
|
223
223
|
},
|
|
224
224
|
],
|
|
@@ -245,14 +245,14 @@ export const components = [
|
|
|
245
245
|
examples: [
|
|
246
246
|
{
|
|
247
247
|
title: "Ad Banner",
|
|
248
|
-
code: `import { AdCardBanner } from "negodesign"
|
|
249
|
-
|
|
250
|
-
<AdCardBanner
|
|
251
|
-
tagText="This ad could be yours."
|
|
252
|
-
titleHighlight="This ad"
|
|
253
|
-
titleMain="could be yours."
|
|
254
|
-
buttonText="Learn more"
|
|
255
|
-
onClickButton={() => console.log("clicked")}
|
|
248
|
+
code: `import { AdCardBanner } from "negodesign"
|
|
249
|
+
|
|
250
|
+
<AdCardBanner
|
|
251
|
+
tagText="This ad could be yours."
|
|
252
|
+
titleHighlight="This ad"
|
|
253
|
+
titleMain="could be yours."
|
|
254
|
+
buttonText="Learn more"
|
|
255
|
+
onClickButton={() => console.log("clicked")}
|
|
256
256
|
/>`,
|
|
257
257
|
href: "/banner/cad-add",
|
|
258
258
|
},
|
|
@@ -278,13 +278,13 @@ export const components = [
|
|
|
278
278
|
examples: [
|
|
279
279
|
{
|
|
280
280
|
title: "CTA Banner",
|
|
281
|
-
code: `import { CtaCardBanner } from "negodesign"
|
|
282
|
-
|
|
283
|
-
<CtaCardBanner
|
|
284
|
-
title="Let's get in touch"
|
|
285
|
-
description="We have the ideal solution for you."
|
|
286
|
-
primaryText="Contact"
|
|
287
|
-
secondaryText="Learn more"
|
|
281
|
+
code: `import { CtaCardBanner } from "negodesign"
|
|
282
|
+
|
|
283
|
+
<CtaCardBanner
|
|
284
|
+
title="Let's get in touch"
|
|
285
|
+
description="We have the ideal solution for you."
|
|
286
|
+
primaryText="Contact"
|
|
287
|
+
secondaryText="Learn more"
|
|
288
288
|
/>`,
|
|
289
289
|
href: "/banner/card-contact-cta",
|
|
290
290
|
},
|
|
@@ -312,16 +312,16 @@ export const components = [
|
|
|
312
312
|
examples: [
|
|
313
313
|
{
|
|
314
314
|
title: "Media Card",
|
|
315
|
-
code: `import { CardMedia } from "negodesign"
|
|
316
|
-
|
|
317
|
-
<CardMedia
|
|
318
|
-
{...item}
|
|
319
|
-
variant={2}
|
|
320
|
-
isImageButtonMaximized
|
|
321
|
-
isVideoButtonMaximized
|
|
322
|
-
onFavoriteClick={(id) => console.log(id)}
|
|
323
|
-
onButtonProfile={(id) => console.log(id)}
|
|
324
|
-
onButtonDetails={(id) => console.log(id)}
|
|
315
|
+
code: `import { CardMedia } from "negodesign"
|
|
316
|
+
|
|
317
|
+
<CardMedia
|
|
318
|
+
{...item}
|
|
319
|
+
variant={2}
|
|
320
|
+
isImageButtonMaximized
|
|
321
|
+
isVideoButtonMaximized
|
|
322
|
+
onFavoriteClick={(id) => console.log(id)}
|
|
323
|
+
onButtonProfile={(id) => console.log(id)}
|
|
324
|
+
onButtonDetails={(id) => console.log(id)}
|
|
325
325
|
/>`,
|
|
326
326
|
href: "/card/media",
|
|
327
327
|
},
|
|
@@ -359,13 +359,13 @@ export const components = [
|
|
|
359
359
|
examples: [
|
|
360
360
|
{
|
|
361
361
|
title: "Profile Card",
|
|
362
|
-
code: `import { CardProfile } from "negodesign"
|
|
363
|
-
|
|
364
|
-
<CardProfile
|
|
365
|
-
{...item}
|
|
366
|
-
variant={1}
|
|
367
|
-
onFavoriteClick={(id) => console.log(id)}
|
|
368
|
-
onWhatsappClick={(id) => console.log(id)}
|
|
362
|
+
code: `import { CardProfile } from "negodesign"
|
|
363
|
+
|
|
364
|
+
<CardProfile
|
|
365
|
+
{...item}
|
|
366
|
+
variant={1}
|
|
367
|
+
onFavoriteClick={(id) => console.log(id)}
|
|
368
|
+
onWhatsappClick={(id) => console.log(id)}
|
|
369
369
|
/>`,
|
|
370
370
|
href: "/card/profile",
|
|
371
371
|
},
|
|
@@ -400,16 +400,16 @@ export const components = [
|
|
|
400
400
|
examples: [
|
|
401
401
|
{
|
|
402
402
|
title: "Badge Carousel",
|
|
403
|
-
code: `import { CarouselBadge } from "negodesign"
|
|
404
|
-
|
|
405
|
-
<CarouselBadge
|
|
406
|
-
orientation="horizontal"
|
|
407
|
-
itemStyle="BORDER"
|
|
408
|
-
items={[
|
|
409
|
-
{ label: "Hotels", value: "hotel", icon: Hotel01Icon },
|
|
410
|
-
{ label: "Pensions", value: "pensao", icon: BedDoubleIcon },
|
|
411
|
-
]}
|
|
412
|
-
onClick={(value) => console.log(value)}
|
|
403
|
+
code: `import { CarouselBadge } from "negodesign"
|
|
404
|
+
|
|
405
|
+
<CarouselBadge
|
|
406
|
+
orientation="horizontal"
|
|
407
|
+
itemStyle="BORDER"
|
|
408
|
+
items={[
|
|
409
|
+
{ label: "Hotels", value: "hotel", icon: Hotel01Icon },
|
|
410
|
+
{ label: "Pensions", value: "pensao", icon: BedDoubleIcon },
|
|
411
|
+
]}
|
|
412
|
+
onClick={(value) => console.log(value)}
|
|
413
413
|
/>`,
|
|
414
414
|
href: "/carousel/badge",
|
|
415
415
|
},
|
|
@@ -441,18 +441,18 @@ export const components = [
|
|
|
441
441
|
examples: [
|
|
442
442
|
{
|
|
443
443
|
title: "Highlights Carousel",
|
|
444
|
-
code: `import { CarouselHighlights } from "negodesign"
|
|
445
|
-
|
|
446
|
-
<CarouselHighlights
|
|
447
|
-
varient={2}
|
|
448
|
-
headerProps={{
|
|
449
|
-
title: "Highlights",
|
|
450
|
-
description: "The best organizations",
|
|
451
|
-
onButtonViewAll: () => {},
|
|
452
|
-
}}
|
|
453
|
-
items={highlights}
|
|
454
|
-
onClickBtn={(id) => console.log(id)}
|
|
455
|
-
onClickFavorite={(id) => console.log(id)}
|
|
444
|
+
code: `import { CarouselHighlights } from "negodesign"
|
|
445
|
+
|
|
446
|
+
<CarouselHighlights
|
|
447
|
+
varient={2}
|
|
448
|
+
headerProps={{
|
|
449
|
+
title: "Highlights",
|
|
450
|
+
description: "The best organizations",
|
|
451
|
+
onButtonViewAll: () => {},
|
|
452
|
+
}}
|
|
453
|
+
items={highlights}
|
|
454
|
+
onClickBtn={(id) => console.log(id)}
|
|
455
|
+
onClickFavorite={(id) => console.log(id)}
|
|
456
456
|
/>`,
|
|
457
457
|
href: "/carousel/highlights",
|
|
458
458
|
},
|
|
@@ -479,16 +479,16 @@ export const components = [
|
|
|
479
479
|
examples: [
|
|
480
480
|
{
|
|
481
481
|
title: "Promotion Carousel",
|
|
482
|
-
code: `import { CarouselPromotion } from "negodesign"
|
|
483
|
-
|
|
484
|
-
<CarouselPromotion
|
|
485
|
-
items={promotions}
|
|
486
|
-
headerProps={{
|
|
487
|
-
title: "Promotions",
|
|
488
|
-
onButtonViewAll: () => {},
|
|
489
|
-
}}
|
|
490
|
-
onClickBuy={(id) => console.log(id)}
|
|
491
|
-
onClickShop={(id) => console.log(id)}
|
|
482
|
+
code: `import { CarouselPromotion } from "negodesign"
|
|
483
|
+
|
|
484
|
+
<CarouselPromotion
|
|
485
|
+
items={promotions}
|
|
486
|
+
headerProps={{
|
|
487
|
+
title: "Promotions",
|
|
488
|
+
onButtonViewAll: () => {},
|
|
489
|
+
}}
|
|
490
|
+
onClickBuy={(id) => console.log(id)}
|
|
491
|
+
onClickShop={(id) => console.log(id)}
|
|
492
492
|
/>`,
|
|
493
493
|
href: "/carousel/promotion",
|
|
494
494
|
},
|
|
@@ -515,15 +515,15 @@ export const components = [
|
|
|
515
515
|
examples: [
|
|
516
516
|
{
|
|
517
517
|
title: "Media Grid",
|
|
518
|
-
code: `import { CarouselGridMedia } from "negodesign"
|
|
519
|
-
|
|
520
|
-
<CarouselGridMedia
|
|
521
|
-
items={media}
|
|
522
|
-
headerProps={{
|
|
523
|
-
title: "Explore",
|
|
524
|
-
onButtonViewAll: () => {},
|
|
525
|
-
}}
|
|
526
|
-
onFavoriteClick={(id) => console.log(id)}
|
|
518
|
+
code: `import { CarouselGridMedia } from "negodesign"
|
|
519
|
+
|
|
520
|
+
<CarouselGridMedia
|
|
521
|
+
items={media}
|
|
522
|
+
headerProps={{
|
|
523
|
+
title: "Explore",
|
|
524
|
+
onButtonViewAll: () => {},
|
|
525
|
+
}}
|
|
526
|
+
onFavoriteClick={(id) => console.log(id)}
|
|
527
527
|
/>`,
|
|
528
528
|
href: "/carousel/grid/media",
|
|
529
529
|
},
|
|
@@ -554,14 +554,14 @@ export const components = [
|
|
|
554
554
|
examples: [
|
|
555
555
|
{
|
|
556
556
|
title: "Simple Grid",
|
|
557
|
-
code: `import { ItemsSimpleGrid } from "negodesign"
|
|
558
|
-
|
|
559
|
-
<ItemsSimpleGrid
|
|
560
|
-
variant={1}
|
|
561
|
-
items={[
|
|
562
|
-
{ icon: Coffee03Icon, title: "Coffee", description: "Start your day right" },
|
|
563
|
-
]}
|
|
564
|
-
onClick={(id) => console.log(id)}
|
|
557
|
+
code: `import { ItemsSimpleGrid } from "negodesign"
|
|
558
|
+
|
|
559
|
+
<ItemsSimpleGrid
|
|
560
|
+
variant={1}
|
|
561
|
+
items={[
|
|
562
|
+
{ icon: Coffee03Icon, title: "Coffee", description: "Start your day right" },
|
|
563
|
+
]}
|
|
564
|
+
onClick={(id) => console.log(id)}
|
|
565
565
|
/>`,
|
|
566
566
|
href: "/grid/simple",
|
|
567
567
|
},
|
|
@@ -585,13 +585,13 @@ export const components = [
|
|
|
585
585
|
examples: [
|
|
586
586
|
{
|
|
587
587
|
title: "Panel Grid",
|
|
588
|
-
code: `import { ItemsPanel } from "negodesign"
|
|
589
|
-
|
|
590
|
-
<ItemsPanel
|
|
591
|
-
style="grid"
|
|
592
|
-
variant={1}
|
|
593
|
-
items={items}
|
|
594
|
-
onClick={(id) => console.log(id)}
|
|
588
|
+
code: `import { ItemsPanel } from "negodesign"
|
|
589
|
+
|
|
590
|
+
<ItemsPanel
|
|
591
|
+
style="grid"
|
|
592
|
+
variant={1}
|
|
593
|
+
items={items}
|
|
594
|
+
onClick={(id) => console.log(id)}
|
|
595
595
|
/>`,
|
|
596
596
|
href: "/grid/panel",
|
|
597
597
|
},
|
|
@@ -617,53 +617,53 @@ export const components = [
|
|
|
617
617
|
{
|
|
618
618
|
title: "Variant 1 — Centered Grid",
|
|
619
619
|
href: "/modal",
|
|
620
|
-
code: `import { ModalGridSelection } from "negodesign"
|
|
621
|
-
|
|
622
|
-
let isOpen = $state(false);
|
|
623
|
-
let selected = $state(null);
|
|
624
|
-
|
|
625
|
-
<ModalGridSelection
|
|
626
|
-
bind:isOpen
|
|
627
|
-
bind:selectedCard={selected}
|
|
628
|
-
title="What will you be using this for?"
|
|
629
|
-
subtitle="We'll use this to recommend you our personalized features"
|
|
630
|
-
totalSteps={3}
|
|
631
|
-
currentStep={1}
|
|
632
|
-
cards={[
|
|
633
|
-
{ title: "Student", description: "You're here to impress your teachers.", icon: "nd-cap-icon" },
|
|
634
|
-
{ title: "Business", description: "You're here to grow your brand.", icon: "nd-briefcase-icon" },
|
|
635
|
-
{ title: "Personal", description: "You're here to make anything.", icon: "nd-user-icon" },
|
|
636
|
-
]}
|
|
637
|
-
onSelect={(card) => console.log(card)}
|
|
638
|
-
onBack={() => console.log("back")}
|
|
639
|
-
onContinue={() => console.log("continue")}
|
|
620
|
+
code: `import { ModalGridSelection } from "negodesign"
|
|
621
|
+
|
|
622
|
+
let isOpen = $state(false);
|
|
623
|
+
let selected = $state(null);
|
|
624
|
+
|
|
625
|
+
<ModalGridSelection
|
|
626
|
+
bind:isOpen
|
|
627
|
+
bind:selectedCard={selected}
|
|
628
|
+
title="What will you be using this for?"
|
|
629
|
+
subtitle="We'll use this to recommend you our personalized features"
|
|
630
|
+
totalSteps={3}
|
|
631
|
+
currentStep={1}
|
|
632
|
+
cards={[
|
|
633
|
+
{ title: "Student", description: "You're here to impress your teachers.", icon: "nd-cap-icon" },
|
|
634
|
+
{ title: "Business", description: "You're here to grow your brand.", icon: "nd-briefcase-icon" },
|
|
635
|
+
{ title: "Personal", description: "You're here to make anything.", icon: "nd-user-icon" },
|
|
636
|
+
]}
|
|
637
|
+
onSelect={(card) => console.log(card)}
|
|
638
|
+
onBack={() => console.log("back")}
|
|
639
|
+
onContinue={() => console.log("continue")}
|
|
640
640
|
/>`,
|
|
641
641
|
},
|
|
642
642
|
{
|
|
643
643
|
title: "Variant 2 — Dark Grid with Categories",
|
|
644
|
-
code: `import { ModalGridSelection } from "negodesign"
|
|
645
|
-
|
|
646
|
-
let isOpen = $state(false);
|
|
647
|
-
let selected = $state(null);
|
|
648
|
-
|
|
649
|
-
<ModalGridSelection
|
|
650
|
-
variant={2}
|
|
651
|
-
bind:isOpen
|
|
652
|
-
bind:selectedCard={selected}
|
|
653
|
-
title="What are you planning to use this app for?"
|
|
654
|
-
categories={[
|
|
655
|
-
{ label: "Marketing", value: "marketing" },
|
|
656
|
-
{ label: "Product", value: "product" },
|
|
657
|
-
{ label: "Engineering", value: "engineering" },
|
|
658
|
-
]}
|
|
659
|
-
cards={[
|
|
660
|
-
{ title: "Work Stuff", description: "Just the usual boring work stuff.", icon: "nd-briefcase-icon" },
|
|
661
|
-
{ title: "UI/UX Design", description: "Design apps and prototypes.", icon: "nd-palette-icon" },
|
|
662
|
-
{ title: "Finance", description: "Because I need money.", icon: "nd-money-icon" },
|
|
663
|
-
{ title: "Productivity", description: "Sometimes we need to be productive.", icon: "nd-clock-icon" },
|
|
664
|
-
]}
|
|
665
|
-
onSelect={(card) => console.log(card)}
|
|
666
|
-
onContinue={() => console.log("continue")}
|
|
644
|
+
code: `import { ModalGridSelection } from "negodesign"
|
|
645
|
+
|
|
646
|
+
let isOpen = $state(false);
|
|
647
|
+
let selected = $state(null);
|
|
648
|
+
|
|
649
|
+
<ModalGridSelection
|
|
650
|
+
variant={2}
|
|
651
|
+
bind:isOpen
|
|
652
|
+
bind:selectedCard={selected}
|
|
653
|
+
title="What are you planning to use this app for?"
|
|
654
|
+
categories={[
|
|
655
|
+
{ label: "Marketing", value: "marketing" },
|
|
656
|
+
{ label: "Product", value: "product" },
|
|
657
|
+
{ label: "Engineering", value: "engineering" },
|
|
658
|
+
]}
|
|
659
|
+
cards={[
|
|
660
|
+
{ title: "Work Stuff", description: "Just the usual boring work stuff.", icon: "nd-briefcase-icon" },
|
|
661
|
+
{ title: "UI/UX Design", description: "Design apps and prototypes.", icon: "nd-palette-icon" },
|
|
662
|
+
{ title: "Finance", description: "Because I need money.", icon: "nd-money-icon" },
|
|
663
|
+
{ title: "Productivity", description: "Sometimes we need to be productive.", icon: "nd-clock-icon" },
|
|
664
|
+
]}
|
|
665
|
+
onSelect={(card) => console.log(card)}
|
|
666
|
+
onContinue={() => console.log("continue")}
|
|
667
667
|
/>`,
|
|
668
668
|
},
|
|
669
669
|
],
|
|
@@ -698,27 +698,27 @@ let selected = $state(null);
|
|
|
698
698
|
{
|
|
699
699
|
title: "Modal Badge Selection",
|
|
700
700
|
href: "/modal",
|
|
701
|
-
code: `import { ModalBadgeSelection } from "negodesign"
|
|
702
|
-
|
|
703
|
-
let isOpen = $state(false);
|
|
704
|
-
let selected = $state(null);
|
|
705
|
-
|
|
706
|
-
<ModalBadgeSelection
|
|
707
|
-
bind:isOpen
|
|
708
|
-
bind:selectedBadge={selected}
|
|
709
|
-
title="What team are you currently on?"
|
|
710
|
-
subtitle="Please select one answer only."
|
|
711
|
-
totalSteps={5}
|
|
712
|
-
currentStep={2}
|
|
713
|
-
badges={[
|
|
714
|
-
{ label: "Marketing", value: "marketing" },
|
|
715
|
-
{ label: "Engineering", value: "engineering" },
|
|
716
|
-
{ label: "Design", value: "design" },
|
|
717
|
-
{ label: "Operations", value: "operations" },
|
|
718
|
-
]}
|
|
719
|
-
onSelect={(badge) => console.log(badge)}
|
|
720
|
-
onContinue={() => console.log("continue")}
|
|
721
|
-
onSkip={() => console.log("skip")}
|
|
701
|
+
code: `import { ModalBadgeSelection } from "negodesign"
|
|
702
|
+
|
|
703
|
+
let isOpen = $state(false);
|
|
704
|
+
let selected = $state(null);
|
|
705
|
+
|
|
706
|
+
<ModalBadgeSelection
|
|
707
|
+
bind:isOpen
|
|
708
|
+
bind:selectedBadge={selected}
|
|
709
|
+
title="What team are you currently on?"
|
|
710
|
+
subtitle="Please select one answer only."
|
|
711
|
+
totalSteps={5}
|
|
712
|
+
currentStep={2}
|
|
713
|
+
badges={[
|
|
714
|
+
{ label: "Marketing", value: "marketing" },
|
|
715
|
+
{ label: "Engineering", value: "engineering" },
|
|
716
|
+
{ label: "Design", value: "design" },
|
|
717
|
+
{ label: "Operations", value: "operations" },
|
|
718
|
+
]}
|
|
719
|
+
onSelect={(badge) => console.log(badge)}
|
|
720
|
+
onContinue={() => console.log("continue")}
|
|
721
|
+
onSkip={() => console.log("skip")}
|
|
722
722
|
/>`,
|
|
723
723
|
},
|
|
724
724
|
],
|
|
@@ -750,44 +750,44 @@ let selected = $state(null);
|
|
|
750
750
|
{
|
|
751
751
|
title: "Modal Share Selection",
|
|
752
752
|
href: "/modal",
|
|
753
|
-
code: `import { ModalShareSelection } from "negodesign"
|
|
754
|
-
|
|
755
|
-
let isOpen = $state(false);
|
|
756
|
-
|
|
757
|
-
<ModalShareSelection
|
|
758
|
-
bind:isOpen
|
|
759
|
-
title="Share this design"
|
|
760
|
-
linkValue="https://example.com/design/123"
|
|
761
|
-
isWhatsapp
|
|
762
|
-
isInstagram
|
|
763
|
-
isFacebook
|
|
764
|
-
isTwitter
|
|
765
|
-
isLinkedin
|
|
766
|
-
isPinterest
|
|
767
|
-
isTumblr
|
|
768
|
-
onShare={(network) => console.log(network)}
|
|
769
|
-
onCopy={(link) => console.log(link)}
|
|
753
|
+
code: `import { ModalShareSelection } from "negodesign"
|
|
754
|
+
|
|
755
|
+
let isOpen = $state(false);
|
|
756
|
+
|
|
757
|
+
<ModalShareSelection
|
|
758
|
+
bind:isOpen
|
|
759
|
+
title="Share this design"
|
|
760
|
+
linkValue="https://example.com/design/123"
|
|
761
|
+
isWhatsapp
|
|
762
|
+
isInstagram
|
|
763
|
+
isFacebook
|
|
764
|
+
isTwitter
|
|
765
|
+
isLinkedin
|
|
766
|
+
isPinterest
|
|
767
|
+
isTumblr
|
|
768
|
+
onShare={(network) => console.log(network)}
|
|
769
|
+
onCopy={(link) => console.log(link)}
|
|
770
770
|
/>`,
|
|
771
771
|
},
|
|
772
772
|
{
|
|
773
773
|
title: "Modal Share Selection — custom networks",
|
|
774
|
-
code: `import { ModalShareSelection } from "negodesign"
|
|
775
|
-
import type { ModelSocialShare } from "negodesign"
|
|
776
|
-
|
|
777
|
-
let isOpen = $state(false);
|
|
778
|
-
|
|
779
|
-
const networks: ModelSocialShare[] = [
|
|
780
|
-
{ name: "WhatsApp", img: "/img/icons8-whatsapp-48.png", color: "#25D366" },
|
|
781
|
-
{ name: "Facebook", img: "/img/icons8-facebook-48.png", color: "#1877F2" },
|
|
782
|
-
];
|
|
783
|
-
|
|
784
|
-
<ModalShareSelection
|
|
785
|
-
bind:isOpen
|
|
786
|
-
title="Share this design"
|
|
787
|
-
linkValue="https://example.com/design/123"
|
|
788
|
-
{networks}
|
|
789
|
-
onShare={(network) => console.log(network)}
|
|
790
|
-
onCopy={(link) => console.log(link)}
|
|
774
|
+
code: `import { ModalShareSelection } from "negodesign"
|
|
775
|
+
import type { ModelSocialShare } from "negodesign"
|
|
776
|
+
|
|
777
|
+
let isOpen = $state(false);
|
|
778
|
+
|
|
779
|
+
const networks: ModelSocialShare[] = [
|
|
780
|
+
{ name: "WhatsApp", img: "/img/icons8-whatsapp-48.png", color: "#25D366" },
|
|
781
|
+
{ name: "Facebook", img: "/img/icons8-facebook-48.png", color: "#1877F2" },
|
|
782
|
+
];
|
|
783
|
+
|
|
784
|
+
<ModalShareSelection
|
|
785
|
+
bind:isOpen
|
|
786
|
+
title="Share this design"
|
|
787
|
+
linkValue="https://example.com/design/123"
|
|
788
|
+
{networks}
|
|
789
|
+
onShare={(network) => console.log(network)}
|
|
790
|
+
onCopy={(link) => console.log(link)}
|
|
791
791
|
/>`,
|
|
792
792
|
},
|
|
793
793
|
],
|
|
@@ -824,17 +824,17 @@ const networks: ModelSocialShare[] = [
|
|
|
824
824
|
{
|
|
825
825
|
title: "Modal Notification",
|
|
826
826
|
href: "/modal",
|
|
827
|
-
code: `import { ModalNotification } from "negodesign"
|
|
828
|
-
|
|
829
|
-
let isOpen = $state(false);
|
|
830
|
-
|
|
831
|
-
<ModalNotification
|
|
832
|
-
bind:isOpen
|
|
833
|
-
title="Be the first to know when new content is available"
|
|
834
|
-
description="Sign up to receive tips and tricks on how to create online designs that make people take action."
|
|
835
|
-
placeholder="Your email address"
|
|
836
|
-
buttonText="Sign me up"
|
|
837
|
-
onSubmit={(email) => console.log(email)}
|
|
827
|
+
code: `import { ModalNotification } from "negodesign"
|
|
828
|
+
|
|
829
|
+
let isOpen = $state(false);
|
|
830
|
+
|
|
831
|
+
<ModalNotification
|
|
832
|
+
bind:isOpen
|
|
833
|
+
title="Be the first to know when new content is available"
|
|
834
|
+
description="Sign up to receive tips and tricks on how to create online designs that make people take action."
|
|
835
|
+
placeholder="Your email address"
|
|
836
|
+
buttonText="Sign me up"
|
|
837
|
+
onSubmit={(email) => console.log(email)}
|
|
838
838
|
/>`,
|
|
839
839
|
},
|
|
840
840
|
],
|
|
@@ -862,16 +862,16 @@ let isOpen = $state(false);
|
|
|
862
862
|
{
|
|
863
863
|
title: "Modal Feedback",
|
|
864
864
|
href: "/modal",
|
|
865
|
-
code: `import { ModalFeedback } from "negodesign"
|
|
866
|
-
|
|
867
|
-
let isOpen = $state(false);
|
|
868
|
-
|
|
869
|
-
<ModalFeedback
|
|
870
|
-
bind:isOpen
|
|
871
|
-
title="Your Feedback"
|
|
872
|
-
icon="🔥"
|
|
873
|
-
onSubmit={(content, images) => console.log(content, images)}
|
|
874
|
-
onAddImage={() => console.log("add image")}
|
|
865
|
+
code: `import { ModalFeedback } from "negodesign"
|
|
866
|
+
|
|
867
|
+
let isOpen = $state(false);
|
|
868
|
+
|
|
869
|
+
<ModalFeedback
|
|
870
|
+
bind:isOpen
|
|
871
|
+
title="Your Feedback"
|
|
872
|
+
icon="🔥"
|
|
873
|
+
onSubmit={(content, images) => console.log(content, images)}
|
|
874
|
+
onAddImage={() => console.log("add image")}
|
|
875
875
|
/>`,
|
|
876
876
|
},
|
|
877
877
|
],
|
|
@@ -902,22 +902,22 @@ let isOpen = $state(false);
|
|
|
902
902
|
{
|
|
903
903
|
title: "Form with multiple input types",
|
|
904
904
|
href: "/form",
|
|
905
|
-
code: `import { Form } from "negodesign"
|
|
906
|
-
|
|
907
|
-
<Form
|
|
908
|
-
onSubmit={(data) => console.log(data)}
|
|
909
|
-
submitText="Save"
|
|
910
|
-
inputs={[
|
|
911
|
-
{ type: "text", name: "name", label: "Full Name", placeholder: "John Doe", required: true },
|
|
912
|
-
{ type: "email", name: "email", label: "Email", placeholder: "john@example.com", required: true },
|
|
913
|
-
{ type: "select", name: "role", label: "Role", options: [
|
|
914
|
-
{ value: "ADMIN", label: "Admin" },
|
|
915
|
-
{ value: "USER", label: "User" },
|
|
916
|
-
]},
|
|
917
|
-
{ type: "toggle", name: "active", label: "Active", description: "Enable this account" },
|
|
918
|
-
{ type: "textarea", name: "bio", label: "Bio", placeholder: "Tell us about yourself", fill: true },
|
|
919
|
-
{ type: "badges", name: "tags", label: "Tags", placeholder: "Add tags...", suggestions: ["React", "Svelte", "Vue"] },
|
|
920
|
-
]}
|
|
905
|
+
code: `import { Form } from "negodesign"
|
|
906
|
+
|
|
907
|
+
<Form
|
|
908
|
+
onSubmit={(data) => console.log(data)}
|
|
909
|
+
submitText="Save"
|
|
910
|
+
inputs={[
|
|
911
|
+
{ type: "text", name: "name", label: "Full Name", placeholder: "John Doe", required: true },
|
|
912
|
+
{ type: "email", name: "email", label: "Email", placeholder: "john@example.com", required: true },
|
|
913
|
+
{ type: "select", name: "role", label: "Role", options: [
|
|
914
|
+
{ value: "ADMIN", label: "Admin" },
|
|
915
|
+
{ value: "USER", label: "User" },
|
|
916
|
+
]},
|
|
917
|
+
{ type: "toggle", name: "active", label: "Active", description: "Enable this account" },
|
|
918
|
+
{ type: "textarea", name: "bio", label: "Bio", placeholder: "Tell us about yourself", fill: true },
|
|
919
|
+
{ type: "badges", name: "tags", label: "Tags", placeholder: "Add tags...", suggestions: ["React", "Svelte", "Vue"] },
|
|
920
|
+
]}
|
|
921
921
|
/>`,
|
|
922
922
|
},
|
|
923
923
|
],
|
|
@@ -943,22 +943,22 @@ let isOpen = $state(false);
|
|
|
943
943
|
{
|
|
944
944
|
title: "Modal Form",
|
|
945
945
|
href: "/modal",
|
|
946
|
-
code: `import { ModalForm } from "negodesign"
|
|
947
|
-
|
|
948
|
-
let isOpen = $state(false);
|
|
949
|
-
|
|
950
|
-
<ModalForm
|
|
951
|
-
bind:isOpen
|
|
952
|
-
title="Edit Profile"
|
|
953
|
-
subtitle="Update your personal information"
|
|
954
|
-
submitText="Save Changes"
|
|
955
|
-
inputs={[
|
|
956
|
-
{ type: "text", name: "name", label: "Name", value: "John Doe", required: true },
|
|
957
|
-
{ type: "email", name: "email", label: "Email", value: "john@example.com" },
|
|
958
|
-
{ type: "toggle", name: "newsletter", label: "Newsletter", description: "Receive updates" },
|
|
959
|
-
]}
|
|
960
|
-
onSubmit={(data) => console.log(data)}
|
|
961
|
-
onCancel={() => console.log("cancelled")}
|
|
946
|
+
code: `import { ModalForm } from "negodesign"
|
|
947
|
+
|
|
948
|
+
let isOpen = $state(false);
|
|
949
|
+
|
|
950
|
+
<ModalForm
|
|
951
|
+
bind:isOpen
|
|
952
|
+
title="Edit Profile"
|
|
953
|
+
subtitle="Update your personal information"
|
|
954
|
+
submitText="Save Changes"
|
|
955
|
+
inputs={[
|
|
956
|
+
{ type: "text", name: "name", label: "Name", value: "John Doe", required: true },
|
|
957
|
+
{ type: "email", name: "email", label: "Email", value: "john@example.com" },
|
|
958
|
+
{ type: "toggle", name: "newsletter", label: "Newsletter", description: "Receive updates" },
|
|
959
|
+
]}
|
|
960
|
+
onSubmit={(data) => console.log(data)}
|
|
961
|
+
onCancel={() => console.log("cancelled")}
|
|
962
962
|
/>`,
|
|
963
963
|
},
|
|
964
964
|
],
|
|
@@ -990,21 +990,21 @@ let isOpen = $state(false);
|
|
|
990
990
|
{
|
|
991
991
|
title: "Modal Upload",
|
|
992
992
|
href: "/modal",
|
|
993
|
-
code: `import { ModalUpload } from "negodesign"
|
|
994
|
-
import type { UploadFile } from "negodesign"
|
|
995
|
-
|
|
996
|
-
let isOpen = $state(false);
|
|
997
|
-
let files = $state<UploadFile[]>([]);
|
|
998
|
-
|
|
999
|
-
<ModalUpload
|
|
1000
|
-
bind:isOpen
|
|
1001
|
-
bind:files
|
|
1002
|
-
acceptedFormats="csv, xlsx, xls"
|
|
1003
|
-
multiple
|
|
1004
|
-
onFilesSelected={(f) => console.log("selected", f)}
|
|
1005
|
-
onUpload={(f) => console.log("upload", f)}
|
|
1006
|
-
onRemoveFile={(id) => console.log("remove", id)}
|
|
1007
|
-
onDownload={() => console.log("download sample")}
|
|
993
|
+
code: `import { ModalUpload } from "negodesign"
|
|
994
|
+
import type { UploadFile } from "negodesign"
|
|
995
|
+
|
|
996
|
+
let isOpen = $state(false);
|
|
997
|
+
let files = $state<UploadFile[]>([]);
|
|
998
|
+
|
|
999
|
+
<ModalUpload
|
|
1000
|
+
bind:isOpen
|
|
1001
|
+
bind:files
|
|
1002
|
+
acceptedFormats="csv, xlsx, xls"
|
|
1003
|
+
multiple
|
|
1004
|
+
onFilesSelected={(f) => console.log("selected", f)}
|
|
1005
|
+
onUpload={(f) => console.log("upload", f)}
|
|
1006
|
+
onRemoveFile={(id) => console.log("remove", id)}
|
|
1007
|
+
onDownload={() => console.log("download sample")}
|
|
1008
1008
|
/>`,
|
|
1009
1009
|
},
|
|
1010
1010
|
],
|
|
@@ -1037,25 +1037,25 @@ let files = $state<UploadFile[]>([]);
|
|
|
1037
1037
|
examples: [
|
|
1038
1038
|
{
|
|
1039
1039
|
title: "Modal Core",
|
|
1040
|
-
code: `import { ModalCore } from "negodesign"
|
|
1041
|
-
|
|
1042
|
-
let isOpen = $state(false);
|
|
1043
|
-
|
|
1044
|
-
<ModalCore
|
|
1045
|
-
bind:isOpen
|
|
1046
|
-
title="Custom Modal"
|
|
1047
|
-
subtitle="With custom content"
|
|
1048
|
-
totalSteps={3}
|
|
1049
|
-
currentStep={1}
|
|
1050
|
-
showProgress
|
|
1051
|
-
showBack
|
|
1052
|
-
showSkip
|
|
1053
|
-
onContinue={() => console.log("continue")}
|
|
1054
|
-
onSkip={() => console.log("skip")}
|
|
1055
|
-
>
|
|
1056
|
-
{#snippet content()}
|
|
1057
|
-
<p>Your custom content here</p>
|
|
1058
|
-
{/snippet}
|
|
1040
|
+
code: `import { ModalCore } from "negodesign"
|
|
1041
|
+
|
|
1042
|
+
let isOpen = $state(false);
|
|
1043
|
+
|
|
1044
|
+
<ModalCore
|
|
1045
|
+
bind:isOpen
|
|
1046
|
+
title="Custom Modal"
|
|
1047
|
+
subtitle="With custom content"
|
|
1048
|
+
totalSteps={3}
|
|
1049
|
+
currentStep={1}
|
|
1050
|
+
showProgress
|
|
1051
|
+
showBack
|
|
1052
|
+
showSkip
|
|
1053
|
+
onContinue={() => console.log("continue")}
|
|
1054
|
+
onSkip={() => console.log("skip")}
|
|
1055
|
+
>
|
|
1056
|
+
{#snippet content()}
|
|
1057
|
+
<p>Your custom content here</p>
|
|
1058
|
+
{/snippet}
|
|
1059
1059
|
</ModalCore>`,
|
|
1060
1060
|
},
|
|
1061
1061
|
],
|
|
@@ -1091,18 +1091,18 @@ let isOpen = $state(false);
|
|
|
1091
1091
|
{
|
|
1092
1092
|
title: "Modal Map",
|
|
1093
1093
|
href: "/modal",
|
|
1094
|
-
code: `import { ModalMap } from "negodesign"
|
|
1095
|
-
|
|
1096
|
-
let isOpen = $state(false);
|
|
1097
|
-
|
|
1098
|
-
<ModalMap
|
|
1099
|
-
bind:isOpen
|
|
1100
|
-
title="Location"
|
|
1101
|
-
address="211 Throop Ave Brooklyn, New York City"
|
|
1102
|
-
description="New York is served by three airports."
|
|
1103
|
-
onSearch={(q) => console.log(q)}
|
|
1104
|
-
onApply={(addr, desc) => console.log(addr, desc)}
|
|
1105
|
-
onCancel={() => console.log("cancel")}
|
|
1094
|
+
code: `import { ModalMap } from "negodesign"
|
|
1095
|
+
|
|
1096
|
+
let isOpen = $state(false);
|
|
1097
|
+
|
|
1098
|
+
<ModalMap
|
|
1099
|
+
bind:isOpen
|
|
1100
|
+
title="Location"
|
|
1101
|
+
address="211 Throop Ave Brooklyn, New York City"
|
|
1102
|
+
description="New York is served by three airports."
|
|
1103
|
+
onSearch={(q) => console.log(q)}
|
|
1104
|
+
onApply={(addr, desc) => console.log(addr, desc)}
|
|
1105
|
+
onCancel={() => console.log("cancel")}
|
|
1106
1106
|
/>`,
|
|
1107
1107
|
},
|
|
1108
1108
|
],
|
|
@@ -1140,17 +1140,17 @@ let isOpen = $state(false);
|
|
|
1140
1140
|
examples: [
|
|
1141
1141
|
{
|
|
1142
1142
|
title: "Footer",
|
|
1143
|
-
code: `import { Footer } from "negodesign"
|
|
1144
|
-
|
|
1145
|
-
<Footer
|
|
1146
|
-
isNewsletter={true}
|
|
1147
|
-
items={[
|
|
1148
|
-
{ title: "Solutions", items: [{ text: "Marketing" }] },
|
|
1149
|
-
]}
|
|
1150
|
-
socialsMedia={[
|
|
1151
|
-
{ icon: "facebook", text: "Facebook", href: "#" },
|
|
1152
|
-
]}
|
|
1153
|
-
companyName="Negoturismo"
|
|
1143
|
+
code: `import { Footer } from "negodesign"
|
|
1144
|
+
|
|
1145
|
+
<Footer
|
|
1146
|
+
isNewsletter={true}
|
|
1147
|
+
items={[
|
|
1148
|
+
{ title: "Solutions", items: [{ text: "Marketing" }] },
|
|
1149
|
+
]}
|
|
1150
|
+
socialsMedia={[
|
|
1151
|
+
{ icon: "facebook", text: "Facebook", href: "#" },
|
|
1152
|
+
]}
|
|
1153
|
+
companyName="Negoturismo"
|
|
1154
1154
|
/>`,
|
|
1155
1155
|
href: "/footer",
|
|
1156
1156
|
},
|
|
@@ -1177,15 +1177,15 @@ let isOpen = $state(false);
|
|
|
1177
1177
|
examples: [
|
|
1178
1178
|
{
|
|
1179
1179
|
title: "Admin Panel",
|
|
1180
|
-
code: `import { AdminPanel } from "negodesign"
|
|
1181
|
-
|
|
1182
|
-
<AdminPanel>
|
|
1183
|
-
{#snippet appsidebar()}
|
|
1184
|
-
<MenuBarSidebar {user} {menus} {menusButtons} />
|
|
1185
|
-
{/snippet}
|
|
1186
|
-
{#snippet content()}
|
|
1187
|
-
<AdminContent>...content...</AdminContent>
|
|
1188
|
-
{/snippet}
|
|
1180
|
+
code: `import { AdminPanel } from "negodesign"
|
|
1181
|
+
|
|
1182
|
+
<AdminPanel>
|
|
1183
|
+
{#snippet appsidebar()}
|
|
1184
|
+
<MenuBarSidebar {user} {menus} {menusButtons} />
|
|
1185
|
+
{/snippet}
|
|
1186
|
+
{#snippet content()}
|
|
1187
|
+
<AdminContent>...content...</AdminContent>
|
|
1188
|
+
{/snippet}
|
|
1189
1189
|
</AdminPanel>`,
|
|
1190
1190
|
href: "/admin/01",
|
|
1191
1191
|
},
|
|
@@ -1206,13 +1206,13 @@ let isOpen = $state(false);
|
|
|
1206
1206
|
examples: [
|
|
1207
1207
|
{
|
|
1208
1208
|
title: "Data Table",
|
|
1209
|
-
code: `import { DataTableCore } from "negodesign"
|
|
1210
|
-
|
|
1211
|
-
<DataTableCore
|
|
1212
|
-
items={rows}
|
|
1213
|
-
config={columns}
|
|
1214
|
-
columnFilter="name"
|
|
1215
|
-
actions={RowActions}
|
|
1209
|
+
code: `import { DataTableCore } from "negodesign"
|
|
1210
|
+
|
|
1211
|
+
<DataTableCore
|
|
1212
|
+
items={rows}
|
|
1213
|
+
config={columns}
|
|
1214
|
+
columnFilter="name"
|
|
1215
|
+
actions={RowActions}
|
|
1216
1216
|
/>`,
|
|
1217
1217
|
href: "/datatable/01",
|
|
1218
1218
|
},
|
|
@@ -1234,12 +1234,12 @@ let isOpen = $state(false);
|
|
|
1234
1234
|
examples: [
|
|
1235
1235
|
{
|
|
1236
1236
|
title: "Sidebar",
|
|
1237
|
-
code: `import { MenuBarSidebar } from "negodesign"
|
|
1238
|
-
|
|
1239
|
-
<MenuBarSidebar
|
|
1240
|
-
{menus}
|
|
1241
|
-
{user}
|
|
1242
|
-
{menusButtons}
|
|
1237
|
+
code: `import { MenuBarSidebar } from "negodesign"
|
|
1238
|
+
|
|
1239
|
+
<MenuBarSidebar
|
|
1240
|
+
{menus}
|
|
1241
|
+
{user}
|
|
1242
|
+
{menusButtons}
|
|
1243
1243
|
/>`,
|
|
1244
1244
|
},
|
|
1245
1245
|
],
|
|
@@ -1262,15 +1262,15 @@ let isOpen = $state(false);
|
|
|
1262
1262
|
examples: [
|
|
1263
1263
|
{
|
|
1264
1264
|
title: "Login Page",
|
|
1265
|
-
code: `import { PageLogin } from "negodesign"
|
|
1266
|
-
|
|
1267
|
-
<PageLogin
|
|
1268
|
-
title="Negodesign"
|
|
1269
|
-
formType="EMAIL_PASSWORD"
|
|
1270
|
-
carousel={[
|
|
1271
|
-
{ title: "Welcome", description: "Access your account", buttonText: "Sign in" },
|
|
1272
|
-
]}
|
|
1273
|
-
onSubmit={(credential) => console.log(credential)}
|
|
1265
|
+
code: `import { PageLogin } from "negodesign"
|
|
1266
|
+
|
|
1267
|
+
<PageLogin
|
|
1268
|
+
title="Negodesign"
|
|
1269
|
+
formType="EMAIL_PASSWORD"
|
|
1270
|
+
carousel={[
|
|
1271
|
+
{ title: "Welcome", description: "Access your account", buttonText: "Sign in" },
|
|
1272
|
+
]}
|
|
1273
|
+
onSubmit={(credential) => console.log(credential)}
|
|
1274
1274
|
/>`,
|
|
1275
1275
|
href: "/login/admin/01",
|
|
1276
1276
|
},
|
|
@@ -1297,36 +1297,36 @@ let isOpen = $state(false);
|
|
|
1297
1297
|
examples: [
|
|
1298
1298
|
{
|
|
1299
1299
|
title: "Register Page — All Fields",
|
|
1300
|
-
code: `import { PageRegister } from "negodesign"
|
|
1301
|
-
|
|
1302
|
-
<PageRegister
|
|
1303
|
-
title="Negodesign"
|
|
1304
|
-
fields={{
|
|
1305
|
-
isName: true,
|
|
1306
|
-
isEmail: true,
|
|
1307
|
-
isPassword: true,
|
|
1308
|
-
isConfirmPassword: true,
|
|
1309
|
-
isBirthday: true,
|
|
1310
|
-
isGender: true,
|
|
1311
|
-
isPhone: true,
|
|
1312
|
-
}}
|
|
1313
|
-
onSubmit={(data) => console.log(data)}
|
|
1300
|
+
code: `import { PageRegister } from "negodesign"
|
|
1301
|
+
|
|
1302
|
+
<PageRegister
|
|
1303
|
+
title="Negodesign"
|
|
1304
|
+
fields={{
|
|
1305
|
+
isName: true,
|
|
1306
|
+
isEmail: true,
|
|
1307
|
+
isPassword: true,
|
|
1308
|
+
isConfirmPassword: true,
|
|
1309
|
+
isBirthday: true,
|
|
1310
|
+
isGender: true,
|
|
1311
|
+
isPhone: true,
|
|
1312
|
+
}}
|
|
1313
|
+
onSubmit={(data) => console.log(data)}
|
|
1314
1314
|
/>`,
|
|
1315
1315
|
href: "/register/admin/01",
|
|
1316
1316
|
},
|
|
1317
1317
|
{
|
|
1318
1318
|
title: "Register Page — Minimal (email + password)",
|
|
1319
|
-
code: `import { PageRegister } from "negodesign"
|
|
1320
|
-
|
|
1321
|
-
<PageRegister
|
|
1322
|
-
variant={2}
|
|
1323
|
-
title="Negodesign"
|
|
1324
|
-
fields={{
|
|
1325
|
-
isEmail: true,
|
|
1326
|
-
isPassword: true,
|
|
1327
|
-
isConfirmPassword: true,
|
|
1328
|
-
}}
|
|
1329
|
-
onSubmit={(data) => console.log(data)}
|
|
1319
|
+
code: `import { PageRegister } from "negodesign"
|
|
1320
|
+
|
|
1321
|
+
<PageRegister
|
|
1322
|
+
variant={2}
|
|
1323
|
+
title="Negodesign"
|
|
1324
|
+
fields={{
|
|
1325
|
+
isEmail: true,
|
|
1326
|
+
isPassword: true,
|
|
1327
|
+
isConfirmPassword: true,
|
|
1328
|
+
}}
|
|
1329
|
+
onSubmit={(data) => console.log(data)}
|
|
1330
1330
|
/>`,
|
|
1331
1331
|
},
|
|
1332
1332
|
],
|
|
@@ -1354,13 +1354,13 @@ let isOpen = $state(false);
|
|
|
1354
1354
|
examples: [
|
|
1355
1355
|
{
|
|
1356
1356
|
title: "Company Profile",
|
|
1357
|
-
code: `import { CompanyProfile } from "negodesign"
|
|
1358
|
-
|
|
1359
|
-
<CompanyProfile
|
|
1360
|
-
data={data}
|
|
1361
|
-
isLoading={false}
|
|
1362
|
-
onWhatsapp={(id) => console.log(id)}
|
|
1363
|
-
onEmail={(id) => console.log(id)}
|
|
1357
|
+
code: `import { CompanyProfile } from "negodesign"
|
|
1358
|
+
|
|
1359
|
+
<CompanyProfile
|
|
1360
|
+
data={data}
|
|
1361
|
+
isLoading={false}
|
|
1362
|
+
onWhatsapp={(id) => console.log(id)}
|
|
1363
|
+
onEmail={(id) => console.log(id)}
|
|
1364
1364
|
/>`,
|
|
1365
1365
|
href: "/company-profile",
|
|
1366
1366
|
},
|
|
@@ -1384,14 +1384,14 @@ let isOpen = $state(false);
|
|
|
1384
1384
|
examples: [
|
|
1385
1385
|
{
|
|
1386
1386
|
title: "Privacy Policy",
|
|
1387
|
-
code: `import { PrivacyPolicyOrTermsOfUse } from "negodesign"
|
|
1388
|
-
|
|
1389
|
-
<PrivacyPolicyOrTermsOfUse
|
|
1390
|
-
variant={1}
|
|
1391
|
-
title="Privacy Policy"
|
|
1392
|
-
lastUpdated="August 15, 2026"
|
|
1393
|
-
breadcrumb={[{ label: "Home", href: "/" }]}
|
|
1394
|
-
sections={[{ id: "intro", title: "Introduction", blocks: [] }]}
|
|
1387
|
+
code: `import { PrivacyPolicyOrTermsOfUse } from "negodesign"
|
|
1388
|
+
|
|
1389
|
+
<PrivacyPolicyOrTermsOfUse
|
|
1390
|
+
variant={1}
|
|
1391
|
+
title="Privacy Policy"
|
|
1392
|
+
lastUpdated="August 15, 2026"
|
|
1393
|
+
breadcrumb={[{ label: "Home", href: "/" }]}
|
|
1394
|
+
sections={[{ id: "intro", title: "Introduction", blocks: [] }]}
|
|
1395
1395
|
/>`,
|
|
1396
1396
|
href: "/privacy-policy-or-terms-of-use",
|
|
1397
1397
|
},
|
|
@@ -1416,15 +1416,15 @@ let isOpen = $state(false);
|
|
|
1416
1416
|
examples: [
|
|
1417
1417
|
{
|
|
1418
1418
|
title: "Product Details",
|
|
1419
|
-
code: `import { ProductDetails } from "negodesign"
|
|
1420
|
-
|
|
1421
|
-
<ProductDetails
|
|
1422
|
-
varient={1}
|
|
1423
|
-
data={productData}
|
|
1424
|
-
isLoading={false}
|
|
1425
|
-
onBuy={(id) => alert("Buy " + id)}
|
|
1426
|
-
onFavorite={(id) => alert("Favorite " + id)}
|
|
1427
|
-
onCart={(id) => alert("Cart " + id)}
|
|
1419
|
+
code: `import { ProductDetails } from "negodesign"
|
|
1420
|
+
|
|
1421
|
+
<ProductDetails
|
|
1422
|
+
varient={1}
|
|
1423
|
+
data={productData}
|
|
1424
|
+
isLoading={false}
|
|
1425
|
+
onBuy={(id) => alert("Buy " + id)}
|
|
1426
|
+
onFavorite={(id) => alert("Favorite " + id)}
|
|
1427
|
+
onCart={(id) => alert("Cart " + id)}
|
|
1428
1428
|
/>`,
|
|
1429
1429
|
href: "/product-details/01",
|
|
1430
1430
|
},
|
|
@@ -1450,15 +1450,15 @@ let isOpen = $state(false);
|
|
|
1450
1450
|
examples: [
|
|
1451
1451
|
{
|
|
1452
1452
|
title: "User Profile",
|
|
1453
|
-
code: `import { ProfileUser } from "negodesign"
|
|
1454
|
-
|
|
1455
|
-
<ProfileUser
|
|
1456
|
-
varient={1}
|
|
1457
|
-
data={userData}
|
|
1458
|
-
isLoading={false}
|
|
1459
|
-
onLoginAsUser={(id) => alert(id)}
|
|
1460
|
-
onAddAddress={() => alert("Add")}
|
|
1461
|
-
onChangePassword={(p) => alert(JSON.stringify(p))}
|
|
1453
|
+
code: `import { ProfileUser } from "negodesign"
|
|
1454
|
+
|
|
1455
|
+
<ProfileUser
|
|
1456
|
+
varient={1}
|
|
1457
|
+
data={userData}
|
|
1458
|
+
isLoading={false}
|
|
1459
|
+
onLoginAsUser={(id) => alert(id)}
|
|
1460
|
+
onAddAddress={() => alert("Add")}
|
|
1461
|
+
onChangePassword={(p) => alert(JSON.stringify(p))}
|
|
1462
1462
|
/>`,
|
|
1463
1463
|
href: "/profile-user/01",
|
|
1464
1464
|
},
|
|
@@ -1486,17 +1486,17 @@ let isOpen = $state(false);
|
|
|
1486
1486
|
{
|
|
1487
1487
|
title: "Tab Underline",
|
|
1488
1488
|
href: "/tab",
|
|
1489
|
-
code: `import { TabUnderline } from "negodesign"
|
|
1490
|
-
|
|
1491
|
-
<TabUnderline
|
|
1492
|
-
items={[
|
|
1493
|
-
{ label: "Tab 1", value: "tab1" },
|
|
1494
|
-
{ label: "Tab 2", value: "tab2" },
|
|
1495
|
-
]}
|
|
1496
|
-
contents={{
|
|
1497
|
-
tab1: () => <p>Content 1</p>,
|
|
1498
|
-
tab2: () => <p>Content 2</p>,
|
|
1499
|
-
}}
|
|
1489
|
+
code: `import { TabUnderline } from "negodesign"
|
|
1490
|
+
|
|
1491
|
+
<TabUnderline
|
|
1492
|
+
items={[
|
|
1493
|
+
{ label: "Tab 1", value: "tab1" },
|
|
1494
|
+
{ label: "Tab 2", value: "tab2" },
|
|
1495
|
+
]}
|
|
1496
|
+
contents={{
|
|
1497
|
+
tab1: () => <p>Content 1</p>,
|
|
1498
|
+
tab2: () => <p>Content 2</p>,
|
|
1499
|
+
}}
|
|
1500
1500
|
/>`,
|
|
1501
1501
|
},
|
|
1502
1502
|
],
|
|
@@ -1516,14 +1516,14 @@ let isOpen = $state(false);
|
|
|
1516
1516
|
examples: [
|
|
1517
1517
|
{
|
|
1518
1518
|
title: "Empty State",
|
|
1519
|
-
code: `import { NotFoundEmpty } from "negodesign"
|
|
1520
|
-
|
|
1521
|
-
<NotFoundEmpty
|
|
1522
|
-
title="No results found"
|
|
1523
|
-
description="Try adjusting your search or filter to find what you're looking for."
|
|
1524
|
-
showAction
|
|
1525
|
-
actionLabel="Clear filters"
|
|
1526
|
-
onAction={() => console.log("clear")}
|
|
1519
|
+
code: `import { NotFoundEmpty } from "negodesign"
|
|
1520
|
+
|
|
1521
|
+
<NotFoundEmpty
|
|
1522
|
+
title="No results found"
|
|
1523
|
+
description="Try adjusting your search or filter to find what you're looking for."
|
|
1524
|
+
showAction
|
|
1525
|
+
actionLabel="Clear filters"
|
|
1526
|
+
onAction={() => console.log("clear")}
|
|
1527
1527
|
/>`,
|
|
1528
1528
|
},
|
|
1529
1529
|
],
|
|
@@ -1548,11 +1548,11 @@ let isOpen = $state(false);
|
|
|
1548
1548
|
examples: [
|
|
1549
1549
|
{
|
|
1550
1550
|
title: "Admin Content",
|
|
1551
|
-
code: `import { AdminContent } from "negodesign"
|
|
1552
|
-
|
|
1553
|
-
<AdminContent>
|
|
1554
|
-
<h1>Dashboard</h1>
|
|
1555
|
-
<p>Content goes here</p>
|
|
1551
|
+
code: `import { AdminContent } from "negodesign"
|
|
1552
|
+
|
|
1553
|
+
<AdminContent>
|
|
1554
|
+
<h1>Dashboard</h1>
|
|
1555
|
+
<p>Content goes here</p>
|
|
1556
1556
|
</AdminContent>`,
|
|
1557
1557
|
},
|
|
1558
1558
|
],
|
|
@@ -1570,12 +1570,12 @@ let isOpen = $state(false);
|
|
|
1570
1570
|
examples: [
|
|
1571
1571
|
{
|
|
1572
1572
|
title: "Input Email",
|
|
1573
|
-
code: `import { InputEmail } from "negodesign"
|
|
1574
|
-
|
|
1575
|
-
<InputEmail
|
|
1576
|
-
label="Email"
|
|
1577
|
-
placeholder="john@example.com"
|
|
1578
|
-
bind:value={email}
|
|
1573
|
+
code: `import { InputEmail } from "negodesign"
|
|
1574
|
+
|
|
1575
|
+
<InputEmail
|
|
1576
|
+
label="Email"
|
|
1577
|
+
placeholder="john@example.com"
|
|
1578
|
+
bind:value={email}
|
|
1579
1579
|
/>`,
|
|
1580
1580
|
},
|
|
1581
1581
|
],
|
|
@@ -1595,12 +1595,12 @@ let isOpen = $state(false);
|
|
|
1595
1595
|
examples: [
|
|
1596
1596
|
{
|
|
1597
1597
|
title: "Input Phone",
|
|
1598
|
-
code: `import { InputPhone } from "negodesign"
|
|
1599
|
-
|
|
1600
|
-
<InputPhone
|
|
1601
|
-
label="Phone"
|
|
1602
|
-
placeholder="+1 234 567 890"
|
|
1603
|
-
bind:value={phone}
|
|
1598
|
+
code: `import { InputPhone } from "negodesign"
|
|
1599
|
+
|
|
1600
|
+
<InputPhone
|
|
1601
|
+
label="Phone"
|
|
1602
|
+
placeholder="+1 234 567 890"
|
|
1603
|
+
bind:value={phone}
|
|
1604
1604
|
/>`,
|
|
1605
1605
|
},
|
|
1606
1606
|
],
|
|
@@ -1620,12 +1620,12 @@ let isOpen = $state(false);
|
|
|
1620
1620
|
examples: [
|
|
1621
1621
|
{
|
|
1622
1622
|
title: "Input Password",
|
|
1623
|
-
code: `import { InputPassword } from "negodesign"
|
|
1624
|
-
|
|
1625
|
-
<InputPassword
|
|
1626
|
-
label="Password"
|
|
1627
|
-
placeholder="Enter your password"
|
|
1628
|
-
bind:value={password}
|
|
1623
|
+
code: `import { InputPassword } from "negodesign"
|
|
1624
|
+
|
|
1625
|
+
<InputPassword
|
|
1626
|
+
label="Password"
|
|
1627
|
+
placeholder="Enter your password"
|
|
1628
|
+
bind:value={password}
|
|
1629
1629
|
/>`,
|
|
1630
1630
|
},
|
|
1631
1631
|
],
|
|
@@ -1645,12 +1645,12 @@ let isOpen = $state(false);
|
|
|
1645
1645
|
examples: [
|
|
1646
1646
|
{
|
|
1647
1647
|
title: "Input Username",
|
|
1648
|
-
code: `import { InputUsername } from "negodesign"
|
|
1649
|
-
|
|
1650
|
-
<InputUsername
|
|
1651
|
-
label="Username"
|
|
1652
|
-
placeholder="john_doe"
|
|
1653
|
-
bind:value={username}
|
|
1648
|
+
code: `import { InputUsername } from "negodesign"
|
|
1649
|
+
|
|
1650
|
+
<InputUsername
|
|
1651
|
+
label="Username"
|
|
1652
|
+
placeholder="john_doe"
|
|
1653
|
+
bind:value={username}
|
|
1654
1654
|
/>`,
|
|
1655
1655
|
},
|
|
1656
1656
|
],
|
|
@@ -1660,6 +1660,81 @@ let isOpen = $state(false);
|
|
|
1660
1660
|
{ name: "placeholder", type: "string", description: "Placeholder text" },
|
|
1661
1661
|
],
|
|
1662
1662
|
},
|
|
1663
|
+
{
|
|
1664
|
+
slug: "input-calendar",
|
|
1665
|
+
name: "InputCalendar",
|
|
1666
|
+
category: "Form Inputs",
|
|
1667
|
+
description: "Date input with a reusable popover calendar (month and year selectors). Opens a calendar card on click; the value is bound as an ISO `yyyy-mm-dd` string and displayed in the localized format.",
|
|
1668
|
+
path: "src/lib/components/ui/form/ui/input-calendar.svelte",
|
|
1669
|
+
importPath: "InputCalendar",
|
|
1670
|
+
examples: [
|
|
1671
|
+
{
|
|
1672
|
+
title: "Input Calendar",
|
|
1673
|
+
href: "/input-calendar",
|
|
1674
|
+
code: `import { InputCalendar } from "negodesign"
|
|
1675
|
+
|
|
1676
|
+
<script lang="ts">
|
|
1677
|
+
let birthDate = $state("");
|
|
1678
|
+
</script>
|
|
1679
|
+
|
|
1680
|
+
<InputCalendar
|
|
1681
|
+
label="Birth date"
|
|
1682
|
+
placeholder="dd/mm/yyyy"
|
|
1683
|
+
bind:value={birthDate}
|
|
1684
|
+
/>`,
|
|
1685
|
+
},
|
|
1686
|
+
],
|
|
1687
|
+
props: [
|
|
1688
|
+
{ name: "value", type: "string", description: "Bound value as ISO yyyy-mm-dd" },
|
|
1689
|
+
{ name: "label", type: "string", description: "Field label" },
|
|
1690
|
+
{ name: "placeholder", type: "string", description: "Placeholder text" },
|
|
1691
|
+
{ name: "labelClass", type: "string", description: "Label CSS class" },
|
|
1692
|
+
{ name: "inputClass", type: "string", description: "Trigger CSS class" },
|
|
1693
|
+
{ name: "isLabel", type: "boolean", description: "Renders the label wrapper", default: "true" },
|
|
1694
|
+
{ name: "isIcon", type: "boolean", description: "Shows the calendar icon on the left", default: "true" },
|
|
1695
|
+
{ name: "placeholderClass", type: "string", description: "Trigger text CSS class" },
|
|
1696
|
+
{ name: "min", type: "string", description: "Minimum accepted date (ISO yyyy-mm-dd)" },
|
|
1697
|
+
{ name: "max", type: "string", description: "Maximum accepted date (ISO yyyy-mm-dd)" },
|
|
1698
|
+
{ name: "disabled", type: "boolean", description: "Disables the trigger", default: "false" },
|
|
1699
|
+
],
|
|
1700
|
+
},
|
|
1701
|
+
{
|
|
1702
|
+
slug: "input-calendar-interval",
|
|
1703
|
+
name: "InputCalendarInterval",
|
|
1704
|
+
category: "Form Inputs",
|
|
1705
|
+
description: "Date range input built on the same reusable calendar card as InputCalendar. The popover opens two calendars (start and end) side by side on desktop and stacked on mobile, and always guarantees the start date is less than or equal to the end date.",
|
|
1706
|
+
path: "src/lib/components/ui/form/ui/input-calendar-interval.svelte",
|
|
1707
|
+
importPath: "InputCalendarInterval",
|
|
1708
|
+
examples: [
|
|
1709
|
+
{
|
|
1710
|
+
title: "Input Calendar Interval",
|
|
1711
|
+
href: "/input-calendar-interval",
|
|
1712
|
+
code: `import { InputCalendarInterval } from "negodesign"
|
|
1713
|
+
|
|
1714
|
+
<script lang="ts">
|
|
1715
|
+
let startDate = $state("");
|
|
1716
|
+
let endDate = $state("");
|
|
1717
|
+
</script>
|
|
1718
|
+
|
|
1719
|
+
<InputCalendarInterval
|
|
1720
|
+
label="Travel period"
|
|
1721
|
+
bind:startValue={startDate}
|
|
1722
|
+
bind:endValue={endDate}
|
|
1723
|
+
/>`,
|
|
1724
|
+
},
|
|
1725
|
+
],
|
|
1726
|
+
props: [
|
|
1727
|
+
{ name: "startValue", type: "string", description: "Bound start date as ISO yyyy-mm-dd" },
|
|
1728
|
+
{ name: "endValue", type: "string", description: "Bound end date as ISO yyyy-mm-dd" },
|
|
1729
|
+
{ name: "label", type: "string", description: "Field label" },
|
|
1730
|
+
{ name: "isLabel", type: "boolean", description: "Renders the label wrapper", default: "true" },
|
|
1731
|
+
{ name: "isIcon", type: "boolean", description: "Shows the calendar icon on the left", default: "true" },
|
|
1732
|
+
{ name: "labelClass", type: "string", description: "Label CSS class" },
|
|
1733
|
+
{ name: "inputClass", type: "string", description: "Trigger CSS class" },
|
|
1734
|
+
{ name: "placeholder", type: "string", description: "Placeholder text when empty" },
|
|
1735
|
+
{ name: "disabled", type: "boolean", description: "Disables the trigger", default: "false" },
|
|
1736
|
+
],
|
|
1737
|
+
},
|
|
1663
1738
|
{
|
|
1664
1739
|
slug: "page-forget-password",
|
|
1665
1740
|
name: "PageForgetPassword",
|
|
@@ -1670,11 +1745,11 @@ let isOpen = $state(false);
|
|
|
1670
1745
|
examples: [
|
|
1671
1746
|
{
|
|
1672
1747
|
title: "Forget Password Page",
|
|
1673
|
-
code: `import { PageForgetPassword } from "negodesign"
|
|
1674
|
-
|
|
1675
|
-
<PageForgetPassword
|
|
1676
|
-
title="Negodesign"
|
|
1677
|
-
onSubmit={(data) => console.log(data)}
|
|
1748
|
+
code: `import { PageForgetPassword } from "negodesign"
|
|
1749
|
+
|
|
1750
|
+
<PageForgetPassword
|
|
1751
|
+
title="Negodesign"
|
|
1752
|
+
onSubmit={(data) => console.log(data)}
|
|
1678
1753
|
/>`,
|
|
1679
1754
|
href: "/login/forget-password/01",
|
|
1680
1755
|
},
|
|
@@ -1695,10 +1770,10 @@ let isOpen = $state(false);
|
|
|
1695
1770
|
examples: [
|
|
1696
1771
|
{
|
|
1697
1772
|
title: "Reset Password Page",
|
|
1698
|
-
code: `import { PageResetPassword } from "negodesign"
|
|
1699
|
-
|
|
1700
|
-
<PageResetPassword
|
|
1701
|
-
onSubmit={(data) => console.log(data)}
|
|
1773
|
+
code: `import { PageResetPassword } from "negodesign"
|
|
1774
|
+
|
|
1775
|
+
<PageResetPassword
|
|
1776
|
+
onSubmit={(data) => console.log(data)}
|
|
1702
1777
|
/>`,
|
|
1703
1778
|
href: "/login/reset-password/01",
|
|
1704
1779
|
},
|
|
@@ -1717,10 +1792,10 @@ let isOpen = $state(false);
|
|
|
1717
1792
|
examples: [
|
|
1718
1793
|
{
|
|
1719
1794
|
title: "OTP Verification Page",
|
|
1720
|
-
code: `import { PageOtpVerification } from "negodesign"
|
|
1721
|
-
|
|
1722
|
-
<PageOtpVerification
|
|
1723
|
-
onSubmit={(data) => console.log(data)}
|
|
1795
|
+
code: `import { PageOtpVerification } from "negodesign"
|
|
1796
|
+
|
|
1797
|
+
<PageOtpVerification
|
|
1798
|
+
onSubmit={(data) => console.log(data)}
|
|
1724
1799
|
/>`,
|
|
1725
1800
|
href: "/login/otp/01",
|
|
1726
1801
|
},
|
|
@@ -1740,26 +1815,26 @@ let isOpen = $state(false);
|
|
|
1740
1815
|
examples: [
|
|
1741
1816
|
{
|
|
1742
1817
|
title: "Tailored Logistics Cards",
|
|
1743
|
-
code: `import { Section01 } from "negodesign"
|
|
1744
|
-
import {
|
|
1745
|
-
ShoppingBag01Icon,
|
|
1746
|
-
FactoryIcon,
|
|
1747
|
-
Stethoscope02Icon,
|
|
1748
|
-
ComputerNetworkIcon,
|
|
1749
|
-
} from "@hugeicons/core-free-icons";
|
|
1750
|
-
|
|
1751
|
-
<Section01
|
|
1752
|
-
title="Tailored Logistics for Every Business"
|
|
1753
|
-
description="At /XION, we understand that every industry has unique logistics challenges."
|
|
1754
|
-
items={[
|
|
1755
|
-
{ id: "1", icon: ShoppingBag01Icon, title: "Retail & E-commerce", description: "Streamline your fulfillment process." },
|
|
1756
|
-
{ id: "2", icon: FactoryIcon, title: "Manufacturing", description: "Optimize your supply chain.", isActive: true },
|
|
1757
|
-
{ id: "3", icon: Stethoscope02Icon, title: "Healthcare & Pharmacy", description: "Ensure the safe delivery of products." },
|
|
1758
|
-
{ id: "4", icon: ComputerNetworkIcon, title: "Technology & Electronics", description: "Handle high-value, sensitive products." },
|
|
1759
|
-
]}
|
|
1760
|
-
onSelect={(id) => console.log(id)}
|
|
1761
|
-
onPrev={() => console.log("prev")}
|
|
1762
|
-
onNext={() => console.log("next")}
|
|
1818
|
+
code: `import { Section01 } from "negodesign"
|
|
1819
|
+
import {
|
|
1820
|
+
ShoppingBag01Icon,
|
|
1821
|
+
FactoryIcon,
|
|
1822
|
+
Stethoscope02Icon,
|
|
1823
|
+
ComputerNetworkIcon,
|
|
1824
|
+
} from "@hugeicons/core-free-icons";
|
|
1825
|
+
|
|
1826
|
+
<Section01
|
|
1827
|
+
title="Tailored Logistics for Every Business"
|
|
1828
|
+
description="At /XION, we understand that every industry has unique logistics challenges."
|
|
1829
|
+
items={[
|
|
1830
|
+
{ id: "1", icon: ShoppingBag01Icon, title: "Retail & E-commerce", description: "Streamline your fulfillment process." },
|
|
1831
|
+
{ id: "2", icon: FactoryIcon, title: "Manufacturing", description: "Optimize your supply chain.", isActive: true },
|
|
1832
|
+
{ id: "3", icon: Stethoscope02Icon, title: "Healthcare & Pharmacy", description: "Ensure the safe delivery of products." },
|
|
1833
|
+
{ id: "4", icon: ComputerNetworkIcon, title: "Technology & Electronics", description: "Handle high-value, sensitive products." },
|
|
1834
|
+
]}
|
|
1835
|
+
onSelect={(id) => console.log(id)}
|
|
1836
|
+
onPrev={() => console.log("prev")}
|
|
1837
|
+
onNext={() => console.log("next")}
|
|
1763
1838
|
/>`,
|
|
1764
1839
|
href: "/section/01",
|
|
1765
1840
|
},
|
|
@@ -1787,19 +1862,19 @@ import {
|
|
|
1787
1862
|
examples: [
|
|
1788
1863
|
{
|
|
1789
1864
|
title: "Innovation Features Section",
|
|
1790
|
-
code: `import { Section02 } from "negodesign"
|
|
1791
|
-
|
|
1792
|
-
<Section02
|
|
1793
|
-
title="Innovation that Moves Your Business"
|
|
1794
|
-
description="We leverage the latest technology to improve the way we manage your shipments."
|
|
1795
|
-
image="/images/container.jpg"
|
|
1796
|
-
imageAlt="Shipping container"
|
|
1797
|
-
features={[
|
|
1798
|
-
{ title: "Real-Time Tracking", description: "Stay up-to-date with your shipments from pick-up to delivery.", link: "/tracking", linkLabel: "Learn More" },
|
|
1799
|
-
{ title: "Data Analytics", description: "Gain insights into your supply chain.", link: "/analytics" },
|
|
1800
|
-
{ title: "Automated Updates", description: "Receive timely notifications about your shipments.", link: "/updates" },
|
|
1801
|
-
{ title: "Secure Portal", description: "Access your account anytime with our secure online portal.", link: "/portal" },
|
|
1802
|
-
]}
|
|
1865
|
+
code: `import { Section02 } from "negodesign"
|
|
1866
|
+
|
|
1867
|
+
<Section02
|
|
1868
|
+
title="Innovation that Moves Your Business"
|
|
1869
|
+
description="We leverage the latest technology to improve the way we manage your shipments."
|
|
1870
|
+
image="/images/container.jpg"
|
|
1871
|
+
imageAlt="Shipping container"
|
|
1872
|
+
features={[
|
|
1873
|
+
{ title: "Real-Time Tracking", description: "Stay up-to-date with your shipments from pick-up to delivery.", link: "/tracking", linkLabel: "Learn More" },
|
|
1874
|
+
{ title: "Data Analytics", description: "Gain insights into your supply chain.", link: "/analytics" },
|
|
1875
|
+
{ title: "Automated Updates", description: "Receive timely notifications about your shipments.", link: "/updates" },
|
|
1876
|
+
{ title: "Secure Portal", description: "Access your account anytime with our secure online portal.", link: "/portal" },
|
|
1877
|
+
]}
|
|
1803
1878
|
/>`,
|
|
1804
1879
|
href: "/section/02",
|
|
1805
1880
|
},
|
|
@@ -1826,23 +1901,23 @@ import {
|
|
|
1826
1901
|
examples: [
|
|
1827
1902
|
{
|
|
1828
1903
|
title: "Solutions Section",
|
|
1829
|
-
code: `import { Section03 } from "negodesign"
|
|
1830
|
-
import {
|
|
1831
|
-
Globe01Icon,
|
|
1832
|
-
CustomServiceIcon,
|
|
1833
|
-
ArtificialIntelligence02Icon,
|
|
1834
|
-
Award01Icon,
|
|
1835
|
-
} from "@hugeicons/core-free-icons";
|
|
1836
|
-
|
|
1837
|
-
<Section03
|
|
1838
|
-
title="We specialize in providing reliable and efficient solutions"
|
|
1839
|
-
description="Whether you need to streamline your supply chain, improve delivery times, or expand your reach globally, we're here to help you achieve your goals with precision and speed."
|
|
1840
|
-
items={[
|
|
1841
|
-
{ id: "1", icon: Globe01Icon, title: "Global Reach", description: "With a network, we ensure that your business can reach new markets effortlessly." },
|
|
1842
|
-
{ id: "2", icon: CustomServiceIcon, title: "Custom Solutions", description: "We don't believe in a one-size-fits-all. We design logistics solutions tailored to your business needs." },
|
|
1843
|
-
{ id: "3", icon: ArtificialIntelligence02Icon, title: "Technology-Driven", description: "Our cutting-edge technology enables real-time tracking, data analytics, and seamless coordination." },
|
|
1844
|
-
{ id: "4", icon: Award01Icon, title: "Proven Expertise", description: "With over 10 years in the logistics industry, we have mastered the art of moving goods efficiently." },
|
|
1845
|
-
]}
|
|
1904
|
+
code: `import { Section03 } from "negodesign"
|
|
1905
|
+
import {
|
|
1906
|
+
Globe01Icon,
|
|
1907
|
+
CustomServiceIcon,
|
|
1908
|
+
ArtificialIntelligence02Icon,
|
|
1909
|
+
Award01Icon,
|
|
1910
|
+
} from "@hugeicons/core-free-icons";
|
|
1911
|
+
|
|
1912
|
+
<Section03
|
|
1913
|
+
title="We specialize in providing reliable and efficient solutions"
|
|
1914
|
+
description="Whether you need to streamline your supply chain, improve delivery times, or expand your reach globally, we're here to help you achieve your goals with precision and speed."
|
|
1915
|
+
items={[
|
|
1916
|
+
{ id: "1", icon: Globe01Icon, title: "Global Reach", description: "With a network, we ensure that your business can reach new markets effortlessly." },
|
|
1917
|
+
{ id: "2", icon: CustomServiceIcon, title: "Custom Solutions", description: "We don't believe in a one-size-fits-all. We design logistics solutions tailored to your business needs." },
|
|
1918
|
+
{ id: "3", icon: ArtificialIntelligence02Icon, title: "Technology-Driven", description: "Our cutting-edge technology enables real-time tracking, data analytics, and seamless coordination." },
|
|
1919
|
+
{ id: "4", icon: Award01Icon, title: "Proven Expertise", description: "With over 10 years in the logistics industry, we have mastered the art of moving goods efficiently." },
|
|
1920
|
+
]}
|
|
1846
1921
|
/>`,
|
|
1847
1922
|
href: "/section/03",
|
|
1848
1923
|
},
|