negodesign 0.0.73 → 0.0.75
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/company-profile/shared/ProfileProducts.svelte +2 -2
- package/dist/components/pages/company-profile/types.d.ts +1 -1
- package/dist/components/pages/product-details/shared/ProductDetailFilesVertical.svelte +103 -103
- package/dist/components/pages/product-details/shared/ProductDetailPrice.svelte +3 -2
- package/dist/components/pages/product-details/shared/ProductDetailRating.svelte +2 -1
- package/dist/components/pages/product-details/shared/ProductDetailReviews.svelte +2 -1
- package/dist/components/pages/product-details/shared/ProductDetailTags.svelte +3 -2
- package/dist/components/pages/product-details/shared/ProductPromotionDetails.svelte +1 -1
- 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/forget-password/01/ui/ForgetPasswordCard.svelte +2 -2
- package/dist/components/pages/security/forget-password/01/ui/FormForgetPassword.svelte +4 -4
- package/dist/components/pages/security/forget-password/01/ui/PageForgetPassword01.svelte +2 -2
- package/dist/components/pages/security/login/01/ui/FormLogin.svelte +11 -12
- package/dist/components/pages/security/login/01/ui/FormLogin.svelte.d.ts +2 -1
- package/dist/components/pages/security/login/01/ui/FormLoginEmailPassword.svelte +4 -3
- package/dist/components/pages/security/login/01/ui/FormLoginEmailPassword.svelte.d.ts +2 -1
- package/dist/components/pages/security/login/01/ui/FormLoginPhonePassword.svelte +4 -3
- package/dist/components/pages/security/login/01/ui/FormLoginPhonePassword.svelte.d.ts +2 -1
- package/dist/components/pages/security/login/01/ui/FormLoginUsernamePassword.svelte +4 -3
- package/dist/components/pages/security/login/01/ui/FormLoginUsernamePassword.svelte.d.ts +2 -1
- package/dist/components/pages/security/login/01/ui/FormRegister.svelte +28 -28
- package/dist/components/pages/security/login/01/ui/LoginCard.svelte +109 -107
- package/dist/components/pages/security/login/01/ui/LoginCard.svelte.d.ts +2 -1
- package/dist/components/pages/security/login/01/ui/PageLogin01.svelte +5 -3
- package/dist/components/pages/security/login/02/ui/FormLogin02.svelte +70 -0
- package/dist/components/pages/security/login/02/ui/FormLogin02.svelte.d.ts +10 -0
- package/dist/components/pages/security/login/02/ui/FormLoginEmailPassword02.svelte +24 -0
- package/dist/components/pages/security/login/02/ui/FormLoginEmailPassword02.svelte.d.ts +9 -0
- package/dist/components/pages/security/login/02/ui/FormLoginPhonePassword02.svelte +24 -0
- package/dist/components/pages/security/login/02/ui/FormLoginPhonePassword02.svelte.d.ts +9 -0
- package/dist/components/pages/security/login/02/ui/FormLoginUsernamePassword02.svelte +24 -0
- package/dist/components/pages/security/login/02/ui/FormLoginUsernamePassword02.svelte.d.ts +9 -0
- package/dist/components/pages/security/login/02/ui/LeftHero02.svelte +111 -0
- package/dist/components/pages/security/login/02/ui/LeftHero02.svelte.d.ts +10 -0
- package/dist/components/pages/security/login/02/ui/LoginCard02.svelte +107 -0
- package/dist/components/pages/security/login/02/ui/LoginCard02.svelte.d.ts +13 -0
- package/dist/components/pages/security/login/02/ui/PageLogin02.svelte +69 -0
- package/dist/components/pages/security/login/02/ui/PageLogin02.svelte.d.ts +4 -0
- package/dist/components/pages/security/login/03/ui/FormLogin03.svelte +87 -0
- package/dist/components/pages/security/login/03/ui/FormLogin03.svelte.d.ts +10 -0
- package/dist/components/pages/security/login/03/ui/FormLoginEmailPassword03.svelte +24 -0
- package/dist/components/pages/security/login/03/ui/FormLoginEmailPassword03.svelte.d.ts +9 -0
- package/dist/components/pages/security/login/03/ui/FormLoginPhonePassword03.svelte +24 -0
- package/dist/components/pages/security/login/03/ui/FormLoginPhonePassword03.svelte.d.ts +9 -0
- package/dist/components/pages/security/login/03/ui/FormLoginUsernamePassword03.svelte +24 -0
- package/dist/components/pages/security/login/03/ui/FormLoginUsernamePassword03.svelte.d.ts +9 -0
- package/dist/components/pages/security/login/03/ui/LeftHero03.svelte +114 -0
- package/dist/components/pages/security/login/03/ui/LeftHero03.svelte.d.ts +10 -0
- package/dist/components/pages/security/login/03/ui/LoginCard03.svelte +134 -0
- package/dist/components/pages/security/login/03/ui/LoginCard03.svelte.d.ts +13 -0
- package/dist/components/pages/security/login/03/ui/PageLogin03.svelte +69 -0
- package/dist/components/pages/security/login/03/ui/PageLogin03.svelte.d.ts +4 -0
- package/dist/components/pages/security/login/PageLogin.svelte +30 -22
- package/dist/components/pages/security/login/PageLogin.svelte.d.ts +1 -1
- package/dist/components/pages/security/login/types.d.ts +12 -2
- package/dist/components/pages/security/otp-verification/01/ui/FormOtpVerification.svelte +2 -2
- package/dist/components/pages/security/otp-verification/01/ui/OtpVerificationCard.svelte +2 -2
- package/dist/components/pages/security/otp-verification/01/ui/PageOtpVerification01.svelte +2 -2
- package/dist/components/pages/security/reset-password/01/ui/FormResetPassword.svelte +4 -4
- package/dist/components/pages/security/reset-password/01/ui/PageResetPassword01.svelte +2 -2
- package/dist/components/pages/security/reset-password/01/ui/ResetPasswordCard.svelte +2 -2
- 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/{core → ui}/banner/AdCardBanner.svelte +74 -74
- package/dist/components/{core → ui}/banner/CtaCardBanner.svelte +118 -118
- package/dist/components/{core → ui}/banner/CtaCardImageBanner.svelte +94 -94
- package/dist/components/{core/breadcrumb → ui/breadcrumb/core}/breadcrumb-list.svelte +31 -31
- package/dist/components/{core → ui}/button/ButtonBack.svelte +18 -18
- package/dist/components/{core → ui}/button/ButtonBack.svelte.d.ts +1 -1
- package/dist/components/{core → ui}/button/ButtonLogin.svelte +15 -15
- package/dist/components/{core → ui}/button/ButtonLogin.svelte.d.ts +1 -1
- package/dist/components/{core → ui}/button/ButtonLoginWith.svelte +57 -57
- package/dist/components/{core → ui}/button/ButtonLoginWith.svelte.d.ts +1 -1
- package/dist/components/{core → ui}/button/ButtonSend.svelte +15 -15
- package/dist/components/{core → ui}/button/ButtonSend.svelte.d.ts +1 -1
- package/dist/components/ui/button/button.svelte +85 -85
- package/dist/components/{core/card → ui/card/core}/highlight/01/CardHighlight01.svelte +103 -103
- package/dist/components/{core/card → ui/card/core}/highlight/02/CardHighlight02.svelte +99 -99
- package/dist/components/{core/card → ui/card/core}/highlight/CardHighlight.svelte +22 -22
- package/dist/components/{core/card → ui/card/core}/media/01/CardMedia01.svelte +133 -133
- package/dist/components/{core/card → ui/card/core}/media/02/CardMedia02.svelte +127 -127
- package/dist/components/{core/card → ui/card/core}/media/CardMedia.svelte +18 -18
- package/dist/components/{core/card → ui/card/core}/product/01/CardProduct01.svelte +136 -136
- package/dist/components/{core/card → ui/card/core}/product/02/CardProduct02.svelte +124 -124
- package/dist/components/{core/card → ui/card/core}/product/CardProduct.svelte +22 -22
- package/dist/components/{core/card → ui/card/core}/profile/01/CardProfile01.svelte +134 -134
- package/dist/components/{core/card → ui/card/core}/profile/02/CardProfile02.svelte +132 -132
- package/dist/components/{core/card → ui/card/core}/profile/CardProfile.svelte +18 -18
- package/dist/components/{core/card → ui/card/core}/promotion/CardPromotion.svelte +139 -139
- package/dist/components/{core/card → ui/card/core}/promotion/CardPromotionPrice.svelte +32 -32
- package/dist/components/{core/card → ui/card/core}/shared/CardButton.svelte +42 -42
- package/dist/components/{core/card → ui/card/core}/shared/CardCart.svelte +36 -36
- package/dist/components/{core/card → ui/card/core}/shared/CardDescription.svelte +41 -41
- package/dist/components/{core/card → ui/card/core}/shared/CardFavorite.svelte +33 -33
- package/dist/components/{core/card → ui/card/core}/shared/CardLogo.svelte +19 -19
- package/dist/components/{core/card → ui/card/core}/shared/CardPhoneOrWhatsapp.svelte +45 -45
- package/dist/components/{core/card → ui/card/core}/shared/CardStarRating.svelte +24 -24
- package/dist/components/{core/card → ui/card/core}/shared/CardTags.svelte +95 -95
- package/dist/components/{core/card → ui/card/core}/shared/CardThumbnailVideo.svelte +232 -232
- package/dist/components/{core/card → ui/card/core}/shared/CardTitlePrice.svelte +24 -24
- package/dist/components/{core/card → 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/{core/carousel → ui/carousel/core}/badge/ui/CarouselBadge.svelte +108 -108
- package/dist/components/{core/carousel → ui/carousel/core}/grid/media/types.d.ts +3 -3
- package/dist/components/{core/carousel → ui/carousel/core}/grid/media/ui/CarouselGridMedia.svelte +6 -6
- package/dist/components/{core/carousel → ui/carousel/core}/grid/media/ui/CarouselGridMedia.svelte.d.ts +1 -1
- package/dist/components/{core/carousel → ui/carousel/core}/grid/product/types.d.ts +3 -3
- package/dist/components/{core/carousel → ui/carousel/core}/grid/product/ui/CarouselGridProduct.svelte +5 -5
- package/dist/components/{core/carousel → ui/carousel/core}/grid/profile/types.d.ts +2 -2
- package/dist/components/{core/carousel → ui/carousel/core}/grid/profile/ui/CarouselGridProfile.svelte +6 -6
- package/dist/components/{core/carousel → ui/carousel/core}/grid/profile/ui/CarouselGridProfile.svelte.d.ts +1 -1
- package/dist/components/{core/carousel → ui/carousel/core}/grid/promotion/types.d.ts +2 -2
- package/dist/components/{core/carousel → ui/carousel/core}/grid/promotion/ui/CarouselGridPromotion.svelte +5 -5
- package/dist/components/{core/carousel → ui/carousel/core}/grid/shared/ui/CarouselGridSlot.svelte +38 -38
- package/dist/components/{core/carousel → ui/carousel/core}/grid/shared/ui/CarouselGridSlot.svelte.d.ts +2 -2
- package/dist/components/{core/carousel → ui/carousel/core}/hero/types.d.ts +2 -2
- package/dist/components/{core/carousel → ui/carousel/core}/hero/ui/CarouselHero.svelte +181 -181
- package/dist/components/{core/carousel → ui/carousel/core}/highlights/types.d.ts +2 -2
- package/dist/components/{core/carousel → ui/carousel/core}/highlights/ui/CarouselHighlights.svelte +67 -67
- package/dist/components/{core/carousel → ui/carousel/core}/product/types.d.ts +2 -2
- package/dist/components/{core/carousel → ui/carousel/core}/product/ui/CarouselProduct.svelte +57 -57
- package/dist/components/{core/carousel → ui/carousel/core}/promotion/types.d.ts +2 -2
- package/dist/components/{core/carousel → ui/carousel/core}/promotion/ui/CarouselPromotion.svelte +67 -67
- package/dist/components/{core/carousel → 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/{core → ui}/datatable/data/columns-create.d.ts +1 -1
- package/dist/components/{core → ui}/datatable/data/columns-create.js +1 -1
- package/dist/components/{core → ui}/datatable/data/data-table.d.ts +1 -1
- package/dist/components/{core → ui}/datatable/data/resolve-cell-badge.svelte.d.ts +1 -1
- package/dist/components/{core → ui}/datatable/data/resolve-cell-badge.svelte.js +2 -2
- package/dist/components/{core → ui}/datatable/data/resolve-cell.svelte.d.ts +1 -1
- package/dist/components/{core → ui}/datatable/data/resolve-cell.svelte.js +1 -1
- package/dist/components/{core → ui}/datatable/data/resolve-header.svelte.d.ts +1 -1
- package/dist/components/{core → ui}/datatable/data/resolve-header.svelte.js +1 -1
- package/dist/components/{core → ui}/datatable/ui/DataTableActions.svelte +28 -28
- package/dist/components/{core → ui}/datatable/ui/DataTableActions.svelte.d.ts +1 -1
- package/dist/components/{core → ui}/datatable/ui/DataTableCheckbox.svelte +22 -22
- package/dist/components/{core → ui}/datatable/ui/DataTableContent.svelte +59 -59
- package/dist/components/{core → ui}/datatable/ui/DataTableContent.svelte.d.ts +1 -1
- package/dist/components/{core → ui}/datatable/ui/DataTableCore.svelte +148 -148
- package/dist/components/{core → ui}/datatable/ui/DataTableDragHandle.svelte +8 -8
- package/dist/components/{core → ui}/datatable/ui/DataTableListFilter.svelte +60 -60
- package/dist/components/{core → ui}/datatable/ui/DataTableListFilter.svelte.d.ts +1 -1
- package/dist/components/{core → ui}/datatable/ui/DataTableListPagination.svelte +35 -35
- package/dist/components/{core → ui}/datatable/ui/DataTableListPagination.svelte.d.ts +1 -1
- package/dist/components/{core → ui}/datatable/ui/columns-create.svelte.d.ts +1 -1
- package/dist/components/{core → ui}/datatable/ui/columns-create.svelte.js +1 -1
- 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/{core → ui}/footer/ui/Footer.svelte +18 -18
- package/dist/components/ui/form/Form.svelte +171 -0
- package/dist/components/ui/form/Form.svelte.d.ts +4 -0
- package/dist/components/ui/form/types.d.ts +78 -0
- package/dist/components/ui/form/ui/input-badges.svelte +214 -0
- package/dist/components/ui/form/ui/input-badges.svelte.d.ts +14 -0
- package/dist/components/{core → ui}/form/ui/input-base.svelte +81 -81
- package/dist/components/{core → ui}/form/ui/input-base.svelte.d.ts +1 -1
- package/dist/components/ui/form/ui/input-checkbox.svelte +86 -0
- package/dist/components/ui/form/ui/input-checkbox.svelte.d.ts +17 -0
- package/dist/components/{core → ui}/form/ui/input-code-otp.svelte +3 -3
- package/dist/components/{core → ui}/form/ui/input-code-otp.svelte.d.ts +1 -1
- package/dist/components/{core → ui}/form/ui/input-email-or-phone.svelte +23 -23
- package/dist/components/{core → ui}/form/ui/input-email-or-phone.svelte.d.ts +1 -1
- package/dist/components/{core → ui}/form/ui/input-email.svelte +23 -23
- package/dist/components/{core → ui}/form/ui/input-email.svelte.d.ts +1 -1
- package/dist/components/{core → ui}/form/ui/input-password-confirm.svelte +23 -23
- package/dist/components/{core → ui}/form/ui/input-password-confirm.svelte.d.ts +1 -1
- package/dist/components/{core → ui}/form/ui/input-password.svelte +23 -23
- package/dist/components/{core → ui}/form/ui/input-password.svelte.d.ts +1 -1
- package/dist/components/{core → ui}/form/ui/input-phone.svelte +33 -33
- package/dist/components/{core → ui}/form/ui/input-phone.svelte.d.ts +1 -1
- package/dist/components/ui/form/ui/input-radio.svelte +82 -0
- package/dist/components/ui/form/ui/input-radio.svelte.d.ts +17 -0
- package/dist/components/ui/form/ui/input-select.svelte +195 -0
- package/dist/components/ui/form/ui/input-select.svelte.d.ts +17 -0
- package/dist/components/ui/form/ui/input-textarea.svelte +61 -0
- package/dist/components/ui/form/ui/input-textarea.svelte.d.ts +13 -0
- package/dist/components/ui/form/ui/input-toggle.svelte +89 -0
- package/dist/components/ui/form/ui/input-toggle.svelte.d.ts +11 -0
- package/dist/components/{core → ui}/form/ui/input-username.svelte +22 -22
- package/dist/components/{core → ui}/form/ui/input-username.svelte.d.ts +1 -1
- package/dist/components/{core/grid → ui/grid/core}/ui/01/Grid01.svelte +30 -30
- package/dist/components/{core/grid → ui/grid/core}/ui/02/Grid02.svelte +30 -30
- package/dist/components/{core/grid → ui/grid/core}/ui/ItemsPanel.svelte +26 -26
- package/dist/components/{core/grid → ui/grid/core}/ui/ItemsPanelCarousel.svelte +37 -37
- package/dist/components/{core/grid → ui/grid/core}/ui/ItemsPanelGrid.svelte +43 -43
- package/dist/components/{core/grid → ui/grid/core}/ui/ItemsSimpleGrid.svelte +45 -45
- package/dist/components/{core/grid → ui/grid/core}/ui/shared/DescriptionGrid.svelte +23 -23
- package/dist/components/{core/grid → ui/grid/core}/ui/shared/IconRenderGrid.svelte +23 -23
- package/dist/components/{core/grid → ui/grid/core}/ui/shared/TitleGrid.svelte +19 -19
- package/dist/components/{core → 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/{core/label → 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/{core → ui}/link/link-forget-password.svelte +12 -12
- package/dist/components/{core → ui}/link/link-privacy-polity.svelte +12 -12
- package/dist/components/{core → ui}/link/link-terms-of-service.svelte +12 -12
- package/dist/components/ui/modal/badge/index.d.ts +3 -0
- package/dist/components/ui/modal/badge/index.js +2 -0
- package/dist/components/ui/modal/badge/types.d.ts +35 -0
- package/dist/components/ui/modal/badge/ui/ModalBadgeSelection.svelte +87 -0
- package/dist/components/ui/modal/badge/ui/ModalBadgeSelection.svelte.d.ts +4 -0
- package/dist/components/ui/modal/core/index.d.ts +3 -0
- package/dist/components/ui/modal/core/index.js +2 -0
- package/dist/components/ui/modal/core/types.d.ts +82 -0
- package/dist/components/ui/modal/core/ui/ModalCore.svelte +129 -0
- package/dist/components/ui/modal/core/ui/ModalCore.svelte.d.ts +4 -0
- package/dist/components/ui/modal/feedback/index.d.ts +3 -0
- package/dist/components/ui/modal/feedback/index.js +2 -0
- package/dist/components/ui/modal/feedback/types.d.ts +32 -0
- package/dist/components/ui/modal/feedback/ui/ModalFeedback.svelte +135 -0
- package/dist/components/ui/modal/feedback/ui/ModalFeedback.svelte.d.ts +4 -0
- package/dist/components/ui/modal/form/index.d.ts +3 -0
- package/dist/components/ui/modal/form/index.js +2 -0
- package/dist/components/ui/modal/form/types.d.ts +38 -0
- package/dist/components/ui/modal/form/ui/ModalForm.svelte +67 -0
- package/dist/components/ui/modal/form/ui/ModalForm.svelte.d.ts +4 -0
- package/dist/components/ui/modal/grid/index.d.ts +5 -0
- package/dist/components/ui/modal/grid/index.js +4 -0
- package/dist/components/ui/modal/grid/types.d.ts +51 -0
- package/dist/components/ui/modal/grid/ui/01/ModalGridSelection01.svelte +83 -0
- package/dist/components/ui/modal/grid/ui/01/ModalGridSelection01.svelte.d.ts +4 -0
- package/dist/components/ui/modal/grid/ui/02/ModalGridSelection02.svelte +142 -0
- package/dist/components/ui/modal/grid/ui/02/ModalGridSelection02.svelte.d.ts +4 -0
- package/dist/components/ui/modal/grid/ui/ModalGridSelection.svelte +60 -0
- package/dist/components/ui/modal/grid/ui/ModalGridSelection.svelte.d.ts +4 -0
- package/dist/components/ui/modal/map/index.d.ts +3 -0
- package/dist/components/ui/modal/map/index.js +2 -0
- package/dist/components/ui/modal/map/types.d.ts +48 -0
- package/dist/components/ui/modal/map/ui/ModalMap.svelte +187 -0
- package/dist/components/ui/modal/map/ui/ModalMap.svelte.d.ts +4 -0
- package/dist/components/ui/modal/notification/index.d.ts +3 -0
- package/dist/components/ui/modal/notification/index.js +2 -0
- package/dist/components/ui/modal/notification/types.d.ts +26 -0
- package/dist/components/ui/modal/notification/ui/ModalNotification.svelte +65 -0
- package/dist/components/ui/modal/notification/ui/ModalNotification.svelte.d.ts +4 -0
- package/dist/components/ui/modal/share/index.d.ts +3 -0
- package/dist/components/ui/modal/share/index.js +2 -0
- package/dist/components/ui/modal/share/types.d.ts +32 -0
- package/dist/components/ui/modal/share/ui/ModalShareSelection.svelte +103 -0
- package/dist/components/ui/modal/share/ui/ModalShareSelection.svelte.d.ts +4 -0
- package/dist/components/ui/modal/upload/index.d.ts +3 -0
- package/dist/components/ui/modal/upload/index.js +2 -0
- package/dist/components/ui/modal/upload/types.d.ts +79 -0
- package/dist/components/ui/modal/upload/ui/ModalUpload.svelte +268 -0
- package/dist/components/ui/modal/upload/ui/ModalUpload.svelte.d.ts +4 -0
- package/dist/components/ui/nav/data/nav-menu.js +1 -0
- package/dist/components/ui/nav/data/types.js +1 -0
- package/dist/components/{core → ui}/nav/ui/ComplexMenu.svelte +51 -51
- package/dist/components/{core → ui}/nav/ui/Menu.svelte +72 -72
- package/dist/components/{core → ui}/nav/ui/SimpleMenu.svelte +14 -14
- package/dist/components/{core → ui}/nav/ui/mobile/ComplexMenuMobile.svelte +125 -125
- package/dist/components/{core → ui}/nav/ui/mobile/MenuMobile.svelte +54 -54
- package/dist/components/{core → ui}/nav/ui/mobile/SimpleMenuMobile.svelte +1 -1
- package/dist/components/{core → ui}/nav/ui/shared/CollapsibleNavMenu.svelte +1 -1
- package/dist/components/{core → ui}/nav/ui/shared/MenuButton.svelte +51 -51
- package/dist/components/{core → ui}/nav/ui/shared/MenuLinks.svelte +40 -40
- package/dist/components/{core → ui}/nav/ui/shared/MenuListItem.svelte +44 -44
- package/dist/components/{core → ui}/nav/ui/shared/MenuLogo.svelte +13 -13
- package/dist/components/{core → ui}/nav/ui/shared/dropdown/DropdownNavigationMenuItem.svelte +1 -1
- package/dist/components/{core → ui}/nav/ui/shared/dropdown/DropdownNavigationMenuItemCard.svelte +1 -1
- package/dist/components/{core → ui}/nav/ui/shared/dropdown/DropdownNavigationMenuItemGrid.svelte +30 -30
- package/dist/components/{core → ui}/nav/ui/shared/dropdown/DropdownNavigationMenuItemList.svelte +1 -1
- package/dist/components/{core → ui}/nav/ui/shared/dropdown/DropdownNavigationMenuItems.svelte +1 -1
- package/dist/components/{core → ui}/nav/ui/shared/navigation/NavDropdown.svelte +87 -87
- package/dist/components/{core → ui}/nav/ui/shared/navigation/NavigationMenuItem.svelte +17 -17
- package/dist/components/{core → ui}/nav/ui/shared/navigation/NavigationMenuItemCard.svelte +53 -53
- package/dist/components/{core → ui}/nav/ui/shared/navigation/NavigationMenuItemGrid.svelte +36 -36
- package/dist/components/{core → ui}/nav/ui/shared/navigation/NavigationMenuItemList.svelte +24 -24
- package/dist/components/{core → ui}/nav/ui/shared/navigation/NavigationMenuItems.svelte +21 -21
- package/dist/components/{core → ui}/panel/CarouselSlot.svelte +57 -57
- package/dist/components/{core → ui}/panel/LeftHero.svelte +114 -117
- package/dist/components/{core → ui}/panel/LeftHero.svelte.d.ts +0 -1
- package/dist/components/{core → ui}/panel/NotFoundEmpty.svelte +66 -66
- package/dist/components/{core → ui}/panel/type.d.ts +1 -1
- package/dist/components/ui/panel/type.js +1 -0
- package/dist/components/ui/phone-input/country-selector.svelte +86 -86
- package/dist/components/ui/phone-input/flag.svelte +11 -11
- package/dist/components/ui/phone-input/phone-input.svelte +147 -147
- 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/{core → ui}/search/SearchInput.svelte +32 -32
- package/dist/components/{core → ui}/search/shared/SearchInputCore.svelte +66 -66
- package/dist/components/ui/search/types.js +1 -0
- package/dist/components/ui/section/Section01.svelte +90 -0
- package/dist/components/ui/section/Section01.svelte.d.ts +4 -0
- package/dist/components/ui/section/Section02.svelte +68 -0
- package/dist/components/ui/section/Section02.svelte.d.ts +4 -0
- package/dist/components/ui/section/Section03.svelte +52 -0
- package/dist/components/ui/section/Section03.svelte.d.ts +4 -0
- package/dist/components/ui/section/index.d.ts +4 -0
- package/dist/components/ui/section/index.js +3 -0
- package/dist/components/ui/section/types.d.ts +46 -0
- package/dist/components/ui/section/types.js +1 -0
- package/dist/components/ui/separator/separator.svelte +28 -28
- package/dist/components/{core/sidebar → ui/sidebar/core}/MenuBarSidebar.svelte +70 -70
- package/dist/components/{core/sidebar → ui/sidebar/core}/MenuBarSidebar.svelte.d.ts +1 -1
- package/dist/components/ui/sidebar/core/data/nav-menu-sidebar.js +1 -0
- package/dist/components/ui/sidebar/core/data/nav-top-bar-sidebar.js +1 -0
- package/dist/components/ui/sidebar/core/data/nav-user-sidebar.js +1 -0
- package/dist/components/ui/sidebar/core/types.js +1 -0
- package/dist/components/{core/sidebar → ui/sidebar/core}/ui/navbar/NavMenuBarSidebar.svelte +97 -97
- package/dist/components/{core/sidebar → ui/sidebar/core}/ui/navbar/NavMenuBottomSidebar.svelte +33 -33
- package/dist/components/{core/sidebar → ui/sidebar/core}/ui/navbar/NavMenuBottomSidebar.svelte.d.ts +2 -2
- package/dist/components/{core/sidebar → ui/sidebar/core}/ui/navbar/NavMenuTopBarSidebar.svelte +101 -101
- package/dist/components/{core/sidebar → ui/sidebar/core}/ui/navbar/NavUserSidebar.svelte +6 -6
- package/dist/components/{core/sidebar → ui/sidebar/core}/ui/navbar/NavUserSidebar.svelte.d.ts +1 -1
- package/dist/components/{core/sidebar → 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/social-login/social-login.svelte +79 -0
- package/dist/components/ui/social-login/social-login.svelte.d.ts +10 -0
- 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/data/TabModel.js +1 -0
- package/dist/components/ui/tabs/types.js +1 -0
- package/dist/components/{core → 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 +98 -98
- package/dist/docs/components.d.ts +1 -1
- package/dist/docs/components.js +1112 -230
- package/dist/globals.css +530 -0
- package/dist/i18n/langs/en.d.ts +9 -0
- package/dist/i18n/langs/en.js +9 -0
- package/dist/i18n/langs/pt.d.ts +9 -0
- package/dist/i18n/langs/pt.js +9 -0
- package/dist/i18n/translations.d.ts +18 -0
- package/dist/index.d.ts +197 -28
- package/dist/index.js +197 -28
- package/dist/styles/globals.css +283 -283
- package/dist/types/index.d.ts +68 -22
- package/package.json +81 -81
- /package/dist/components/{core → ui}/banner/AdCardBanner.svelte.d.ts +0 -0
- /package/dist/components/{core → ui}/banner/CtaCardBanner.svelte.d.ts +0 -0
- /package/dist/components/{core → ui}/banner/CtaCardImageBanner.svelte.d.ts +0 -0
- /package/dist/components/{core → ui}/banner/NotificationBanner.svelte +0 -0
- /package/dist/components/{core → ui}/banner/NotificationBanner.svelte.d.ts +0 -0
- /package/dist/components/{core → ui}/banner/types.d.ts +0 -0
- /package/dist/components/{core → ui}/banner/types.js +0 -0
- /package/dist/components/{core/breadcrumb → ui/breadcrumb/core}/breadcrumb-list.svelte.d.ts +0 -0
- /package/dist/components/{core/card → ui/card/core}/highlight/01/CardHighlight01.svelte.d.ts +0 -0
- /package/dist/components/{core/card → ui/card/core}/highlight/02/CardHighlight02.svelte.d.ts +0 -0
- /package/dist/components/{core/card → ui/card/core}/highlight/CardHighlight.svelte.d.ts +0 -0
- /package/dist/components/{core/card → ui/card/core}/highlight/data.d.ts +0 -0
- /package/dist/components/{core/card → ui/card/core}/highlight/data.js +0 -0
- /package/dist/components/{core/card → ui/card/core}/media/01/CardMedia01.svelte.d.ts +0 -0
- /package/dist/components/{core/card → ui/card/core}/media/02/CardMedia02.svelte.d.ts +0 -0
- /package/dist/components/{core/card → ui/card/core}/media/CardMedia.svelte.d.ts +0 -0
- /package/dist/components/{core/card → ui/card/core}/media/data.d.ts +0 -0
- /package/dist/components/{core/card → ui/card/core}/media/data.js +0 -0
- /package/dist/components/{core/card → ui/card/core}/product/01/CardProduct01.svelte.d.ts +0 -0
- /package/dist/components/{core/card → ui/card/core}/product/02/CardProduct02.svelte.d.ts +0 -0
- /package/dist/components/{core/card → ui/card/core}/product/CardProduct.svelte.d.ts +0 -0
- /package/dist/components/{core/card → ui/card/core}/product/data.d.ts +0 -0
- /package/dist/components/{core/card → ui/card/core}/product/data.js +0 -0
- /package/dist/components/{core/card → ui/card/core}/profile/01/CardProfile01.svelte.d.ts +0 -0
- /package/dist/components/{core/card → ui/card/core}/profile/02/CardProfile02.svelte.d.ts +0 -0
- /package/dist/components/{core/card → ui/card/core}/profile/CardProfile.svelte.d.ts +0 -0
- /package/dist/components/{core/card → ui/card/core}/profile/data.d.ts +0 -0
- /package/dist/components/{core/card → ui/card/core}/profile/data.js +0 -0
- /package/dist/components/{core/card → ui/card/core}/promotion/CardPromotion.svelte.d.ts +0 -0
- /package/dist/components/{core/card → ui/card/core}/promotion/CardPromotionPrice.svelte.d.ts +0 -0
- /package/dist/components/{core/card → ui/card/core}/promotion/data.d.ts +0 -0
- /package/dist/components/{core/card → ui/card/core}/promotion/data.js +0 -0
- /package/dist/components/{core/card → ui/card/core}/shared/CardButton.svelte.d.ts +0 -0
- /package/dist/components/{core/card → ui/card/core}/shared/CardCart.svelte.d.ts +0 -0
- /package/dist/components/{core/card → ui/card/core}/shared/CardDescription.svelte.d.ts +0 -0
- /package/dist/components/{core/card → ui/card/core}/shared/CardFavorite.svelte.d.ts +0 -0
- /package/dist/components/{core/card → ui/card/core}/shared/CardLogo.svelte.d.ts +0 -0
- /package/dist/components/{core/card → ui/card/core}/shared/CardPhoneOrWhatsapp.svelte.d.ts +0 -0
- /package/dist/components/{core/card → ui/card/core}/shared/CardStarRating.svelte.d.ts +0 -0
- /package/dist/components/{core/card → ui/card/core}/shared/CardTags.svelte.d.ts +0 -0
- /package/dist/components/{core/card → ui/card/core}/shared/CardThumbnailVideo.svelte.d.ts +0 -0
- /package/dist/components/{core/card → ui/card/core}/shared/CardTitlePrice.svelte.d.ts +0 -0
- /package/dist/components/{core/card → ui/card/core}/shared/TruncatableText.svelte.d.ts +0 -0
- /package/dist/components/{core/card → ui/card/core}/types.d.ts +0 -0
- /package/dist/components/{core/card → ui/card/core}/types.js +0 -0
- /package/dist/components/{core/carousel → ui/carousel/core}/badge/type.d.ts +0 -0
- /package/dist/components/{core/carousel → ui/carousel/core}/badge/type.js +0 -0
- /package/dist/components/{core/carousel → ui/carousel/core}/badge/ui/CarouselBadge.svelte.d.ts +0 -0
- /package/dist/components/{core/carousel → ui/carousel/core}/grid/media/types.js +0 -0
- /package/dist/components/{core/carousel → ui/carousel/core}/grid/product/types.js +0 -0
- /package/dist/components/{core/carousel → ui/carousel/core}/grid/product/ui/CarouselGridProduct.svelte.d.ts +0 -0
- /package/dist/components/{core/carousel → ui/carousel/core}/grid/profile/types.js +0 -0
- /package/dist/components/{core/carousel → ui/carousel/core}/grid/promotion/types.js +0 -0
- /package/dist/components/{core/carousel → ui/carousel/core}/grid/promotion/ui/CarouselGridPromotion.svelte.d.ts +0 -0
- /package/dist/components/{core/carousel → ui/carousel/core}/hero/types.js +0 -0
- /package/dist/components/{core/carousel → ui/carousel/core}/hero/ui/CarouselHero.svelte.d.ts +0 -0
- /package/dist/components/{core/carousel → ui/carousel/core}/highlights/types.js +0 -0
- /package/dist/components/{core/carousel → ui/carousel/core}/highlights/ui/CarouselHighlights.svelte.d.ts +0 -0
- /package/dist/components/{core/carousel → ui/carousel/core}/product/types.js +0 -0
- /package/dist/components/{core/carousel → ui/carousel/core}/product/ui/CarouselProduct.svelte.d.ts +0 -0
- /package/dist/components/{core/carousel → ui/carousel/core}/promotion/types.js +0 -0
- /package/dist/components/{core/carousel → ui/carousel/core}/promotion/ui/CarouselPromotion.svelte.d.ts +0 -0
- /package/dist/components/{core/carousel → ui/carousel/core}/shared/ui/CarouselHeader.svelte.d.ts +0 -0
- /package/dist/components/{core/carousel → ui/carousel/core}/types.d.ts +0 -0
- /package/dist/components/{core/carousel → ui/carousel/core}/types.js +0 -0
- /package/dist/components/{core → ui}/datatable/data/data-table.js +0 -0
- /package/dist/components/{core → ui}/datatable/ui/DataTableCheckbox.svelte.d.ts +0 -0
- /package/dist/components/{core → ui}/datatable/ui/DataTableCore.svelte.d.ts +0 -0
- /package/dist/components/{core → ui}/datatable/ui/DataTableDragHandle.svelte.d.ts +0 -0
- /package/dist/components/{core → ui}/footer/types.d.ts +0 -0
- /package/dist/components/{core → ui}/footer/types.js +0 -0
- /package/dist/components/{core → ui}/footer/ui/01/Footer01.svelte +0 -0
- /package/dist/components/{core → ui}/footer/ui/01/Footer01.svelte.d.ts +0 -0
- /package/dist/components/{core → ui}/footer/ui/02/Footer02.svelte +0 -0
- /package/dist/components/{core → ui}/footer/ui/02/Footer02.svelte.d.ts +0 -0
- /package/dist/components/{core → ui}/footer/ui/Footer.svelte.d.ts +0 -0
- /package/dist/components/{core → ui}/footer/ui/shared/FooterColumn.svelte +0 -0
- /package/dist/components/{core → ui}/footer/ui/shared/FooterColumn.svelte.d.ts +0 -0
- /package/dist/components/{core → ui}/footer/ui/shared/FooterNewsLetter.svelte +0 -0
- /package/dist/components/{core → ui}/footer/ui/shared/FooterNewsLetter.svelte.d.ts +0 -0
- /package/dist/components/{core → ui}/footer/ui/shared/FooterSocialIcon.svelte +0 -0
- /package/dist/components/{core → ui}/footer/ui/shared/FooterSocialIcon.svelte.d.ts +0 -0
- /package/dist/components/{core → ui}/form/data/InputIconDefault.svelte.d.ts +0 -0
- /package/dist/components/{core → ui}/form/data/InputIconDefault.svelte.js +0 -0
- /package/dist/components/{core → ui}/form/data/InputLabel.svelte.d.ts +0 -0
- /package/dist/components/{core → ui}/form/data/InputLabel.svelte.js +0 -0
- /package/dist/components/{core/grid/data → ui/form}/types.js +0 -0
- /package/dist/components/{core/grid → ui/grid/core}/data/types.d.ts +0 -0
- /package/dist/components/{core/hero → ui/grid/core/data}/types.js +0 -0
- /package/dist/components/{core/grid → ui/grid/core}/ui/01/Grid01.svelte.d.ts +0 -0
- /package/dist/components/{core/grid → ui/grid/core}/ui/02/Grid02.svelte.d.ts +0 -0
- /package/dist/components/{core/grid → ui/grid/core}/ui/ItemsPanel.svelte.d.ts +0 -0
- /package/dist/components/{core/grid → ui/grid/core}/ui/ItemsPanelCarousel.svelte.d.ts +0 -0
- /package/dist/components/{core/grid → ui/grid/core}/ui/ItemsPanelGrid.svelte.d.ts +0 -0
- /package/dist/components/{core/grid → ui/grid/core}/ui/ItemsSimpleGrid.svelte.d.ts +0 -0
- /package/dist/components/{core/grid → ui/grid/core}/ui/shared/DescriptionGrid.svelte.d.ts +0 -0
- /package/dist/components/{core/grid → ui/grid/core}/ui/shared/IconRenderGrid.svelte.d.ts +0 -0
- /package/dist/components/{core/grid → ui/grid/core}/ui/shared/TitleGrid.svelte.d.ts +0 -0
- /package/dist/components/{core → ui}/hero/SimpleHero.svelte.d.ts +0 -0
- /package/dist/components/{core → ui}/hero/types.d.ts +0 -0
- /package/dist/components/{core/nav/data → ui/hero}/types.js +0 -0
- /package/dist/components/{core/label → ui/label/core}/LabelOr.svelte.d.ts +0 -0
- /package/dist/components/{core → ui}/link/link-forget-password.svelte.d.ts +0 -0
- /package/dist/components/{core → ui}/link/link-privacy-polity.svelte.d.ts +0 -0
- /package/dist/components/{core → ui}/link/link-terms-of-service.svelte.d.ts +0 -0
- /package/dist/components/{core/search → ui/modal/badge}/types.js +0 -0
- /package/dist/components/{core/sidebar → ui/modal/core}/types.js +0 -0
- /package/dist/components/{core/tabs → ui/modal/feedback}/types.js +0 -0
- /package/dist/components/{core/nav/data/nav-menu.js → ui/modal/form/types.js} +0 -0
- /package/dist/components/{core/panel/type.js → ui/modal/grid/types.js} +0 -0
- /package/dist/components/{core/sidebar/data/nav-menu-sidebar.js → ui/modal/map/types.js} +0 -0
- /package/dist/components/{core/sidebar/data/nav-top-bar-sidebar.js → ui/modal/notification/types.js} +0 -0
- /package/dist/components/{core/sidebar/data/nav-user-sidebar.js → ui/modal/share/types.js} +0 -0
- /package/dist/components/{core/tabs/data/TabModel.js → ui/modal/upload/types.js} +0 -0
- /package/dist/components/{core → ui}/nav/data/complex-menu-utils.d.ts +0 -0
- /package/dist/components/{core → ui}/nav/data/complex-menu-utils.js +0 -0
- /package/dist/components/{core → ui}/nav/data/nav-menu.d.ts +0 -0
- /package/dist/components/{core → ui}/nav/data/types.d.ts +0 -0
- /package/dist/components/{core → ui}/nav/ui/ComplexMenu.svelte.d.ts +0 -0
- /package/dist/components/{core → ui}/nav/ui/Menu.svelte.d.ts +0 -0
- /package/dist/components/{core → ui}/nav/ui/SimpleMenu.svelte.d.ts +0 -0
- /package/dist/components/{core → ui}/nav/ui/mobile/ComplexMenuMobile.svelte.d.ts +0 -0
- /package/dist/components/{core → ui}/nav/ui/mobile/MenuMobile.svelte.d.ts +0 -0
- /package/dist/components/{core → ui}/nav/ui/mobile/SimpleMenuMobile.svelte.d.ts +0 -0
- /package/dist/components/{core → ui}/nav/ui/shared/CollapsibleNavMenu.svelte.d.ts +0 -0
- /package/dist/components/{core → ui}/nav/ui/shared/MenuButton.svelte.d.ts +0 -0
- /package/dist/components/{core → ui}/nav/ui/shared/MenuLinks.svelte.d.ts +0 -0
- /package/dist/components/{core → ui}/nav/ui/shared/MenuListItem.svelte.d.ts +0 -0
- /package/dist/components/{core → ui}/nav/ui/shared/MenuLogo.svelte.d.ts +0 -0
- /package/dist/components/{core → ui}/nav/ui/shared/NavMenuItem.svelte +0 -0
- /package/dist/components/{core → ui}/nav/ui/shared/NavMenuItem.svelte.d.ts +0 -0
- /package/dist/components/{core → ui}/nav/ui/shared/dropdown/DropdownMenuListItem.svelte +0 -0
- /package/dist/components/{core → ui}/nav/ui/shared/dropdown/DropdownMenuListItem.svelte.d.ts +0 -0
- /package/dist/components/{core → ui}/nav/ui/shared/dropdown/DropdownNavigationMenuItem.svelte.d.ts +0 -0
- /package/dist/components/{core → ui}/nav/ui/shared/dropdown/DropdownNavigationMenuItemCard.svelte.d.ts +0 -0
- /package/dist/components/{core → ui}/nav/ui/shared/dropdown/DropdownNavigationMenuItemGrid.svelte.d.ts +0 -0
- /package/dist/components/{core → ui}/nav/ui/shared/dropdown/DropdownNavigationMenuItemList.svelte.d.ts +0 -0
- /package/dist/components/{core → ui}/nav/ui/shared/dropdown/DropdownNavigationMenuItems.svelte.d.ts +0 -0
- /package/dist/components/{core → ui}/nav/ui/shared/navigation/NavDropdown.svelte.d.ts +0 -0
- /package/dist/components/{core → ui}/nav/ui/shared/navigation/NavigationMenuItem.svelte.d.ts +0 -0
- /package/dist/components/{core → ui}/nav/ui/shared/navigation/NavigationMenuItemCard.svelte.d.ts +0 -0
- /package/dist/components/{core → ui}/nav/ui/shared/navigation/NavigationMenuItemGrid.svelte.d.ts +0 -0
- /package/dist/components/{core → ui}/nav/ui/shared/navigation/NavigationMenuItemList.svelte.d.ts +0 -0
- /package/dist/components/{core → ui}/nav/ui/shared/navigation/NavigationMenuItems.svelte.d.ts +0 -0
- /package/dist/components/{core → ui}/panel/CarouselSlot.svelte.d.ts +0 -0
- /package/dist/components/{core → ui}/panel/NotFoundEmpty.svelte.d.ts +0 -0
- /package/dist/components/{core → ui}/search/01/Search01.svelte +0 -0
- /package/dist/components/{core → ui}/search/01/Search01.svelte.d.ts +0 -0
- /package/dist/components/{core → ui}/search/02/Search02.svelte +0 -0
- /package/dist/components/{core → ui}/search/02/Search02.svelte.d.ts +0 -0
- /package/dist/components/{core → ui}/search/SearchInput.svelte.d.ts +0 -0
- /package/dist/components/{core → ui}/search/shared/SearchInputCore.svelte.d.ts +0 -0
- /package/dist/components/{core → ui}/search/types.d.ts +0 -0
- /package/dist/components/{core/sidebar → ui/sidebar/core}/data/nav-menu-sidebar.d.ts +0 -0
- /package/dist/components/{core/sidebar → ui/sidebar/core}/data/nav-top-bar-sidebar.d.ts +0 -0
- /package/dist/components/{core/sidebar → ui/sidebar/core}/data/nav-user-sidebar.d.ts +0 -0
- /package/dist/components/{core/sidebar → ui/sidebar/core}/types.d.ts +0 -0
- /package/dist/components/{core/sidebar → ui/sidebar/core}/ui/navbar/NavMenuBarSidebar.svelte.d.ts +0 -0
- /package/dist/components/{core/sidebar → ui/sidebar/core}/ui/navbar/NavMenuTopBarSidebar.svelte.d.ts +0 -0
- /package/dist/components/{core/sidebar → ui/sidebar/core}/ui/navbar/nav-menu-header-sidebar.svelte.d.ts +0 -0
- /package/dist/components/{core → ui}/tabs/data/TabModel.d.ts +0 -0
- /package/dist/components/{core → ui}/tabs/types.d.ts +0 -0
- /package/dist/components/{core → ui}/tabs/ui/tab-underline.svelte.d.ts +0 -0
package/dist/docs/components.js
CHANGED
|
@@ -1,35 +1,41 @@
|
|
|
1
1
|
export const categories = [
|
|
2
2
|
"Navigation",
|
|
3
3
|
"Hero",
|
|
4
|
+
"Sections",
|
|
4
5
|
"Banners",
|
|
5
6
|
"Cards",
|
|
6
7
|
"Carousels",
|
|
7
8
|
"Item Grid",
|
|
9
|
+
"Tabs",
|
|
10
|
+
"Form Inputs",
|
|
11
|
+
"Forms",
|
|
12
|
+
"Modals",
|
|
13
|
+
"Empty States",
|
|
8
14
|
"Footer",
|
|
9
15
|
"Admin Panel",
|
|
10
16
|
"Login / Security",
|
|
11
17
|
"Full Pages",
|
|
12
18
|
];
|
|
13
|
-
const navButtonExample = `import { Menu } from "negodesign"
|
|
14
|
-
|
|
15
|
-
<Menu
|
|
16
|
-
isBorder
|
|
17
|
-
isLightSwitch
|
|
18
|
-
isLanguageSwitcher
|
|
19
|
-
logo={{ label: "Negoturismo" }}
|
|
20
|
-
navMenuButton={{
|
|
21
|
-
textButtonLogin: "Sign in",
|
|
22
|
-
textButtonRegister: "Register",
|
|
23
|
-
onclickButtonLogin: () => {},
|
|
24
|
-
onclickButtonRegister: () => {},
|
|
25
|
-
buttonClass: "bg-primary text-white",
|
|
26
|
-
}}
|
|
27
|
-
navMenu={{
|
|
28
|
-
links: [
|
|
29
|
-
{ label: "Home", url: "/", icon: Home01Icon },
|
|
30
|
-
{ label: "Accommodation", url: "/hospedagem", icon: Hotel01Icon },
|
|
31
|
-
],
|
|
32
|
-
}}
|
|
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
|
+
}}
|
|
33
39
|
/>`;
|
|
34
40
|
export const components = [
|
|
35
41
|
{
|
|
@@ -59,12 +65,12 @@ export const components = [
|
|
|
59
65
|
examples: [
|
|
60
66
|
{
|
|
61
67
|
title: "Search Field",
|
|
62
|
-
code: `import { SearchInput } from "negodesign"
|
|
63
|
-
|
|
64
|
-
<SearchInput
|
|
65
|
-
variant={1}
|
|
66
|
-
placeholder="Search..."
|
|
67
|
-
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)}
|
|
68
74
|
/>`,
|
|
69
75
|
},
|
|
70
76
|
],
|
|
@@ -87,14 +93,14 @@ export const components = [
|
|
|
87
93
|
examples: [
|
|
88
94
|
{
|
|
89
95
|
title: "Simple Hero",
|
|
90
|
-
code: `import { SimpleHero } from "negodesign"
|
|
91
|
-
|
|
92
|
-
<SimpleHero
|
|
93
|
-
title="Find your ideal stay"
|
|
94
|
-
subTitle="Welcome"
|
|
95
|
-
description="Verified hotels, guest houses and apartments."
|
|
96
|
-
image="/images/hero.jpg"
|
|
97
|
-
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" }]}
|
|
98
104
|
/>`,
|
|
99
105
|
href: "/hero",
|
|
100
106
|
},
|
|
@@ -121,24 +127,24 @@ export const components = [
|
|
|
121
127
|
examples: [
|
|
122
128
|
{
|
|
123
129
|
title: "Carousel Hero",
|
|
124
|
-
code: `import { CarouselHero } from "negodesign"
|
|
125
|
-
|
|
126
|
-
<CarouselHero
|
|
127
|
-
titleClass="md:text-2xl lg:text-4xl"
|
|
128
|
-
descriptionClass="text-xs md:text-lg"
|
|
129
|
-
simpleMenu={{
|
|
130
|
-
logo: { url: "/", label: "Negoturismo", className: "text-white" },
|
|
131
|
-
links: [{ label: "Accommodation", url: "#", icon: Hotel01Icon }],
|
|
132
|
-
isLanguageSwitcher: false,
|
|
133
|
-
isLightSwitch: false,
|
|
134
|
-
}}
|
|
135
|
-
items={[
|
|
136
|
-
{
|
|
137
|
-
title: "Find your ideal stay",
|
|
138
|
-
description: "Verified hotels, guest houses and apartments.",
|
|
139
|
-
image: "https://images.unsplash.com/photo-1566073771259",
|
|
140
|
-
},
|
|
141
|
-
]}
|
|
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
|
+
]}
|
|
142
148
|
/>`,
|
|
143
149
|
href: "/hero/carousel",
|
|
144
150
|
},
|
|
@@ -168,14 +174,14 @@ export const components = [
|
|
|
168
174
|
examples: [
|
|
169
175
|
{
|
|
170
176
|
title: "CTA Image Banner",
|
|
171
|
-
code: `import { CtaCardImageBanner } from "negodesign"
|
|
172
|
-
|
|
173
|
-
<CtaCardImageBanner
|
|
174
|
-
title="Let's get in touch"
|
|
175
|
-
description="Talk to us and discover the best offers."
|
|
176
|
-
primaryText="Contact"
|
|
177
|
-
primaryHref="#"
|
|
178
|
-
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"
|
|
179
185
|
/>`,
|
|
180
186
|
href: "/banner",
|
|
181
187
|
},
|
|
@@ -206,13 +212,13 @@ export const components = [
|
|
|
206
212
|
examples: [
|
|
207
213
|
{
|
|
208
214
|
title: "Notification Banner",
|
|
209
|
-
code: `import { NotificationBanner } from "negodesign"
|
|
210
|
-
|
|
211
|
-
<NotificationBanner
|
|
212
|
-
strongText="New"
|
|
213
|
-
description="New offers available!"
|
|
214
|
-
ctaText="View offers"
|
|
215
|
-
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")}
|
|
216
222
|
/>`,
|
|
217
223
|
},
|
|
218
224
|
],
|
|
@@ -239,14 +245,14 @@ export const components = [
|
|
|
239
245
|
examples: [
|
|
240
246
|
{
|
|
241
247
|
title: "Ad Banner",
|
|
242
|
-
code: `import { AdCardBanner } from "negodesign"
|
|
243
|
-
|
|
244
|
-
<AdCardBanner
|
|
245
|
-
tagText="This ad could be yours."
|
|
246
|
-
titleHighlight="This ad"
|
|
247
|
-
titleMain="could be yours."
|
|
248
|
-
buttonText="Learn more"
|
|
249
|
-
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")}
|
|
250
256
|
/>`,
|
|
251
257
|
href: "/banner/cad-add",
|
|
252
258
|
},
|
|
@@ -272,13 +278,13 @@ export const components = [
|
|
|
272
278
|
examples: [
|
|
273
279
|
{
|
|
274
280
|
title: "CTA Banner",
|
|
275
|
-
code: `import { CtaCardBanner } from "negodesign"
|
|
276
|
-
|
|
277
|
-
<CtaCardBanner
|
|
278
|
-
title="Let's get in touch"
|
|
279
|
-
description="We have the ideal solution for you."
|
|
280
|
-
primaryText="Contact"
|
|
281
|
-
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"
|
|
282
288
|
/>`,
|
|
283
289
|
href: "/banner/card-contact-cta",
|
|
284
290
|
},
|
|
@@ -306,16 +312,16 @@ export const components = [
|
|
|
306
312
|
examples: [
|
|
307
313
|
{
|
|
308
314
|
title: "Media Card",
|
|
309
|
-
code: `import { CardMedia } from "negodesign"
|
|
310
|
-
|
|
311
|
-
<CardMedia
|
|
312
|
-
{...item}
|
|
313
|
-
variant={2}
|
|
314
|
-
isImageButtonMaximized
|
|
315
|
-
isVideoButtonMaximized
|
|
316
|
-
onFavoriteClick={(id) => console.log(id)}
|
|
317
|
-
onButtonProfile={(id) => console.log(id)}
|
|
318
|
-
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)}
|
|
319
325
|
/>`,
|
|
320
326
|
href: "/card/media",
|
|
321
327
|
},
|
|
@@ -353,13 +359,13 @@ export const components = [
|
|
|
353
359
|
examples: [
|
|
354
360
|
{
|
|
355
361
|
title: "Profile Card",
|
|
356
|
-
code: `import { CardProfile } from "negodesign"
|
|
357
|
-
|
|
358
|
-
<CardProfile
|
|
359
|
-
{...item}
|
|
360
|
-
variant={1}
|
|
361
|
-
onFavoriteClick={(id) => console.log(id)}
|
|
362
|
-
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)}
|
|
363
369
|
/>`,
|
|
364
370
|
href: "/card/profile",
|
|
365
371
|
},
|
|
@@ -394,16 +400,16 @@ export const components = [
|
|
|
394
400
|
examples: [
|
|
395
401
|
{
|
|
396
402
|
title: "Badge Carousel",
|
|
397
|
-
code: `import { CarouselBadge } from "negodesign"
|
|
398
|
-
|
|
399
|
-
<CarouselBadge
|
|
400
|
-
orientation="horizontal"
|
|
401
|
-
itemStyle="BORDER"
|
|
402
|
-
items={[
|
|
403
|
-
{ label: "Hotels", value: "hotel", icon: Hotel01Icon },
|
|
404
|
-
{ label: "Pensions", value: "pensao", icon: BedDoubleIcon },
|
|
405
|
-
]}
|
|
406
|
-
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)}
|
|
407
413
|
/>`,
|
|
408
414
|
href: "/carousel/badge",
|
|
409
415
|
},
|
|
@@ -435,18 +441,18 @@ export const components = [
|
|
|
435
441
|
examples: [
|
|
436
442
|
{
|
|
437
443
|
title: "Highlights Carousel",
|
|
438
|
-
code: `import { CarouselHighlights } from "negodesign"
|
|
439
|
-
|
|
440
|
-
<CarouselHighlights
|
|
441
|
-
varient={2}
|
|
442
|
-
headerProps={{
|
|
443
|
-
title: "Highlights",
|
|
444
|
-
description: "The best organizations",
|
|
445
|
-
onButtonViewAll: () => {},
|
|
446
|
-
}}
|
|
447
|
-
items={highlights}
|
|
448
|
-
onClickBtn={(id) => console.log(id)}
|
|
449
|
-
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)}
|
|
450
456
|
/>`,
|
|
451
457
|
href: "/carousel/highlights",
|
|
452
458
|
},
|
|
@@ -473,16 +479,16 @@ export const components = [
|
|
|
473
479
|
examples: [
|
|
474
480
|
{
|
|
475
481
|
title: "Promotion Carousel",
|
|
476
|
-
code: `import { CarouselPromotion } from "negodesign"
|
|
477
|
-
|
|
478
|
-
<CarouselPromotion
|
|
479
|
-
items={promotions}
|
|
480
|
-
headerProps={{
|
|
481
|
-
title: "Promotions",
|
|
482
|
-
onButtonViewAll: () => {},
|
|
483
|
-
}}
|
|
484
|
-
onClickBuy={(id) => console.log(id)}
|
|
485
|
-
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)}
|
|
486
492
|
/>`,
|
|
487
493
|
href: "/carousel/promotion",
|
|
488
494
|
},
|
|
@@ -509,15 +515,15 @@ export const components = [
|
|
|
509
515
|
examples: [
|
|
510
516
|
{
|
|
511
517
|
title: "Media Grid",
|
|
512
|
-
code: `import { CarouselGridMedia } from "negodesign"
|
|
513
|
-
|
|
514
|
-
<CarouselGridMedia
|
|
515
|
-
items={media}
|
|
516
|
-
headerProps={{
|
|
517
|
-
title: "Explore",
|
|
518
|
-
onButtonViewAll: () => {},
|
|
519
|
-
}}
|
|
520
|
-
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)}
|
|
521
527
|
/>`,
|
|
522
528
|
href: "/carousel/grid/media",
|
|
523
529
|
},
|
|
@@ -548,14 +554,14 @@ export const components = [
|
|
|
548
554
|
examples: [
|
|
549
555
|
{
|
|
550
556
|
title: "Simple Grid",
|
|
551
|
-
code: `import { ItemsSimpleGrid } from "negodesign"
|
|
552
|
-
|
|
553
|
-
<ItemsSimpleGrid
|
|
554
|
-
variant={1}
|
|
555
|
-
items={[
|
|
556
|
-
{ icon: Coffee03Icon, title: "Coffee", description: "Start your day right" },
|
|
557
|
-
]}
|
|
558
|
-
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)}
|
|
559
565
|
/>`,
|
|
560
566
|
href: "/grid/simple",
|
|
561
567
|
},
|
|
@@ -579,13 +585,13 @@ export const components = [
|
|
|
579
585
|
examples: [
|
|
580
586
|
{
|
|
581
587
|
title: "Panel Grid",
|
|
582
|
-
code: `import { ItemsPanel } from "negodesign"
|
|
583
|
-
|
|
584
|
-
<ItemsPanel
|
|
585
|
-
style="grid"
|
|
586
|
-
variant={1}
|
|
587
|
-
items={items}
|
|
588
|
-
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)}
|
|
589
595
|
/>`,
|
|
590
596
|
href: "/grid/panel",
|
|
591
597
|
},
|
|
@@ -600,6 +606,501 @@ export const components = [
|
|
|
600
606
|
{ name: "isLoading", type: "boolean", description: "Shows skeletons" },
|
|
601
607
|
],
|
|
602
608
|
},
|
|
609
|
+
{
|
|
610
|
+
slug: "modal-grid-selection",
|
|
611
|
+
name: "ModalGridSelection",
|
|
612
|
+
category: "Modals",
|
|
613
|
+
description: "Selection modal with a responsive grid of clickable cards. Supports two visual variants: 1 (centered 3-column grid) and 2 (dark 2-column grid with category filters).",
|
|
614
|
+
path: "src/lib/components/ui/modal/grid/ui/ModalGridSelection.svelte",
|
|
615
|
+
importPath: "ModalGridSelection",
|
|
616
|
+
examples: [
|
|
617
|
+
{
|
|
618
|
+
title: "Variant 1 — Centered Grid",
|
|
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")}
|
|
640
|
+
/>`,
|
|
641
|
+
},
|
|
642
|
+
{
|
|
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")}
|
|
667
|
+
/>`,
|
|
668
|
+
},
|
|
669
|
+
],
|
|
670
|
+
props: [
|
|
671
|
+
{ name: "variant", type: "1 | 2", description: "Visual variant (1: centered grid, 2: dark grid with categories)", default: "1" },
|
|
672
|
+
{ name: "title", type: "string", description: "Required. Modal title", required: true },
|
|
673
|
+
{ name: "subtitle", type: "string", description: "Subtitle below the title" },
|
|
674
|
+
{ name: "categories", type: "ModelGridCategory[]", description: "Category pills at the top (variant 2 only): { label, value }" },
|
|
675
|
+
{ name: "selectedCategory", type: "ModelGridCategory | null", description: "Currently selected category (variant 2, bindable)" },
|
|
676
|
+
{ name: "cards", type: "ModelGridCard[]", description: "Required. Selectable cards: { title, description?, icon }", required: true },
|
|
677
|
+
{ name: "selectedCard", type: "ModelGridCard | null", description: "Currently selected card (bindable)" },
|
|
678
|
+
{ name: "selectedCards", type: "ModelGridCard[]", description: "Selected cards for multiple mode (variant 2, bindable)" },
|
|
679
|
+
{ name: "multiple", type: "boolean", description: "Allows multiple card selection (variant 2)", default: "false" },
|
|
680
|
+
{ name: "isOpen", type: "boolean", description: "Controls modal visibility (bindable)" },
|
|
681
|
+
{ name: "totalSteps", type: "number", description: "Total number of steps for pagination dots", default: "1" },
|
|
682
|
+
{ name: "currentStep", type: "number", description: "Current step index", default: "1" },
|
|
683
|
+
{ name: "onSelect", type: "(card: ModelGridCard) => void", description: "Called when a card is selected" },
|
|
684
|
+
{ name: "onSelectCategory", type: "(category: ModelGridCategory) => void", description: "Called when a category is selected (variant 2)" },
|
|
685
|
+
{ name: "onBack", type: "() => void", description: "Called when the Back button is clicked" },
|
|
686
|
+
{ name: "onContinue", type: "() => void", description: "Called when the Continue button is clicked" },
|
|
687
|
+
{ name: "class", type: "string", description: "Extra container CSS class" },
|
|
688
|
+
],
|
|
689
|
+
},
|
|
690
|
+
{
|
|
691
|
+
slug: "modal-badge-selection",
|
|
692
|
+
name: "ModalBadgeSelection",
|
|
693
|
+
category: "Modals",
|
|
694
|
+
description: "Selection modal with clickable badge/pill tags, progress bar, and Skip/Continue navigation. Second variation of the modal system.",
|
|
695
|
+
path: "src/lib/components/ui/modal/badge/ui/ModalBadgeSelection.svelte",
|
|
696
|
+
importPath: "ModalBadgeSelection",
|
|
697
|
+
examples: [
|
|
698
|
+
{
|
|
699
|
+
title: "Modal Badge Selection",
|
|
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")}
|
|
722
|
+
/>`,
|
|
723
|
+
},
|
|
724
|
+
],
|
|
725
|
+
props: [
|
|
726
|
+
{ name: "title", type: "string", description: "Required. Modal title", required: true },
|
|
727
|
+
{ name: "subtitle", type: "string", description: "Subtitle below the title" },
|
|
728
|
+
{ name: "badges", type: "ModelBadge[]", description: "Required. Selectable badges: { label, value, icon? }", required: true },
|
|
729
|
+
{ name: "selectedBadge", type: "ModelBadge | null", description: "Currently selected badge (bindable)" },
|
|
730
|
+
{ name: "selectedBadges", type: "ModelBadge[]", description: "Selected badges for multiple mode (bindable)" },
|
|
731
|
+
{ name: "multiple", type: "boolean", description: "Allows multiple selection", default: "false" },
|
|
732
|
+
{ name: "isOpen", type: "boolean", description: "Controls modal visibility (bindable)" },
|
|
733
|
+
{ name: "totalSteps", type: "number", description: "Total number of steps for progress bar", default: "1" },
|
|
734
|
+
{ name: "currentStep", type: "number", description: "Current step index", default: "1" },
|
|
735
|
+
{ name: "onSelect", type: "(badge: ModelBadge) => void", description: "Called when a badge is selected" },
|
|
736
|
+
{ name: "onBack", type: "() => void", description: "Called when the Back button is clicked" },
|
|
737
|
+
{ name: "onContinue", type: "() => void", description: "Called when the Continue button is clicked" },
|
|
738
|
+
{ name: "onSkip", type: "() => void", description: "Called when Skip This Step is clicked" },
|
|
739
|
+
{ name: "class", type: "string", description: "Extra container CSS class" },
|
|
740
|
+
],
|
|
741
|
+
},
|
|
742
|
+
{
|
|
743
|
+
slug: "modal-share-selection",
|
|
744
|
+
name: "ModalShareSelection",
|
|
745
|
+
category: "Modals",
|
|
746
|
+
description: "Social share modal with network icons, copy-to-clipboard link input, and close button. Third variation of the modal system.",
|
|
747
|
+
path: "src/lib/components/ui/modal/share/ui/ModalShareSelection.svelte",
|
|
748
|
+
importPath: "ModalShareSelection",
|
|
749
|
+
examples: [
|
|
750
|
+
{
|
|
751
|
+
title: "Modal Share Selection",
|
|
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
|
+
networks={[
|
|
762
|
+
{ name: "Pinterest", icon: "nd-pinterest-icon", color: "#E60023" },
|
|
763
|
+
{ name: "Twitter", icon: "nd-twitter-icon", color: "#1DA1F2" },
|
|
764
|
+
{ name: "Instagram", icon: "nd-instagram-icon", color: "#E4405F" },
|
|
765
|
+
{ name: "Facebook", icon: "nd-facebook-icon", color: "#1877F2" },
|
|
766
|
+
]}
|
|
767
|
+
onShare={(network) => console.log(network)}
|
|
768
|
+
onCopy={(link) => console.log(link)}
|
|
769
|
+
/>`,
|
|
770
|
+
},
|
|
771
|
+
],
|
|
772
|
+
props: [
|
|
773
|
+
{ name: "title", type: "string", description: "Required. Modal title", required: true },
|
|
774
|
+
{ name: "subtitle", type: "string", description: "Subtitle below the title" },
|
|
775
|
+
{ name: "networks", type: "ModelSocialShare[]", description: "Required. Social networks: { name, icon, color?, url? }", required: true },
|
|
776
|
+
{ name: "linkLabel", type: "string", description: "Text above the link input", default: "Or copy link" },
|
|
777
|
+
{ name: "linkValue", type: "string", description: "URL to share/copy" },
|
|
778
|
+
{ name: "copyText", type: "string", description: "Copy button text", default: "Copy" },
|
|
779
|
+
{ name: "copiedText", type: "string", description: "Text after successful copy", default: "Copied!" },
|
|
780
|
+
{ name: "isOpen", type: "boolean", description: "Controls modal visibility (bindable)" },
|
|
781
|
+
{ name: "onShare", type: "(network: ModelSocialShare) => void", description: "Called when a social network is clicked" },
|
|
782
|
+
{ name: "onCopy", type: "(link: string) => void", description: "Called when the link is copied" },
|
|
783
|
+
{ name: "onClose", type: "() => void", description: "Called when the modal is closed" },
|
|
784
|
+
{ name: "class", type: "string", description: "Extra container CSS class" },
|
|
785
|
+
],
|
|
786
|
+
},
|
|
787
|
+
{
|
|
788
|
+
slug: "modal-notification",
|
|
789
|
+
name: "ModalNotification",
|
|
790
|
+
category: "Modals",
|
|
791
|
+
description: "Email subscription/notification modal with input field and CTA button. Fourth variation of the modal system.",
|
|
792
|
+
path: "src/lib/components/ui/modal/notification/ui/ModalNotification.svelte",
|
|
793
|
+
importPath: "ModalNotification",
|
|
794
|
+
examples: [
|
|
795
|
+
{
|
|
796
|
+
title: "Modal Notification",
|
|
797
|
+
href: "/modal",
|
|
798
|
+
code: `import { ModalNotification } from "negodesign"
|
|
799
|
+
|
|
800
|
+
let isOpen = $state(false);
|
|
801
|
+
|
|
802
|
+
<ModalNotification
|
|
803
|
+
bind:isOpen
|
|
804
|
+
title="Be the first to know when new content is available"
|
|
805
|
+
description="Sign up to receive tips and tricks on how to create online designs that make people take action."
|
|
806
|
+
placeholder="Your email address"
|
|
807
|
+
buttonText="Sign me up"
|
|
808
|
+
onSubmit={(email) => console.log(email)}
|
|
809
|
+
/>`,
|
|
810
|
+
},
|
|
811
|
+
],
|
|
812
|
+
props: [
|
|
813
|
+
{ name: "title", type: "string", description: "Required. Modal title", required: true },
|
|
814
|
+
{ name: "description", type: "string", description: "Description text below the title" },
|
|
815
|
+
{ name: "placeholder", type: "string", description: "Email input placeholder", default: "Your email address" },
|
|
816
|
+
{ name: "buttonText", type: "string", description: "Submit button text", default: "Sign me up" },
|
|
817
|
+
{ name: "buttonLoadingText", type: "string", description: "Loading state button text", default: "Signing up..." },
|
|
818
|
+
{ name: "isLoading", type: "boolean", description: "Loading state", default: "false" },
|
|
819
|
+
{ name: "isOpen", type: "boolean", description: "Controls modal visibility (bindable)" },
|
|
820
|
+
{ name: "onSubmit", type: "(email: string) => void", description: "Called when the email is submitted" },
|
|
821
|
+
{ name: "onClose", type: "() => void", description: "Called when the modal is closed" },
|
|
822
|
+
{ name: "class", type: "string", description: "Extra container CSS class" },
|
|
823
|
+
],
|
|
824
|
+
},
|
|
825
|
+
{
|
|
826
|
+
slug: "modal-feedback",
|
|
827
|
+
name: "ModalFeedback",
|
|
828
|
+
category: "Modals",
|
|
829
|
+
description: "Feedback modal with a rich text editor toolbar (bold, italic, underline, lists, alignment) and image upload button. Fifth variation of the modal system.",
|
|
830
|
+
path: "src/lib/components/ui/modal/feedback/ui/ModalFeedback.svelte",
|
|
831
|
+
importPath: "ModalFeedback",
|
|
832
|
+
examples: [
|
|
833
|
+
{
|
|
834
|
+
title: "Modal Feedback",
|
|
835
|
+
href: "/modal",
|
|
836
|
+
code: `import { ModalFeedback } from "negodesign"
|
|
837
|
+
|
|
838
|
+
let isOpen = $state(false);
|
|
839
|
+
|
|
840
|
+
<ModalFeedback
|
|
841
|
+
bind:isOpen
|
|
842
|
+
title="Your Feedback"
|
|
843
|
+
icon="🔥"
|
|
844
|
+
onSubmit={(content, images) => console.log(content, images)}
|
|
845
|
+
onAddImage={() => console.log("add image")}
|
|
846
|
+
/>`,
|
|
847
|
+
},
|
|
848
|
+
],
|
|
849
|
+
props: [
|
|
850
|
+
{ name: "title", type: "string", description: "Modal title", default: "Your Feedback" },
|
|
851
|
+
{ name: "icon", type: "string", description: "Emoji/icon next to the title", default: "🔥" },
|
|
852
|
+
{ name: "placeholder", type: "string", description: "Editor placeholder text", default: "Write your feedback here..." },
|
|
853
|
+
{ name: "buttonText", type: "string", description: "Submit button text", default: "Send" },
|
|
854
|
+
{ name: "buttonLoadingText", type: "string", description: "Loading state button text", default: "Sending..." },
|
|
855
|
+
{ name: "cancelText", type: "string", description: "Cancel button text", default: "Cancel" },
|
|
856
|
+
{ name: "addImageText", type: "string", description: "Add image button text", default: "Add an Image" },
|
|
857
|
+
{ name: "isLoading", type: "boolean", description: "Loading state", default: "false" },
|
|
858
|
+
{ name: "isOpen", type: "boolean", description: "Controls modal visibility (bindable)" },
|
|
859
|
+
{ name: "onSubmit", type: "(content: string, images: File[]) => void", description: "Called when feedback is submitted" },
|
|
860
|
+
{ name: "onAddImage", type: "() => void", description: "Called when Add Image is clicked" },
|
|
861
|
+
{ name: "onClose", type: "() => void", description: "Called when the modal is closed" },
|
|
862
|
+
{ name: "class", type: "string", description: "Extra container CSS class" },
|
|
863
|
+
],
|
|
864
|
+
},
|
|
865
|
+
{
|
|
866
|
+
slug: "form",
|
|
867
|
+
name: "Form",
|
|
868
|
+
category: "Forms",
|
|
869
|
+
description: "Responsive form component with a 2-column grid layout. Supports text, email, password, date, phone, select, radio, checkbox, textarea, toggle, and badges inputs. Each field can span 1 or 2 columns via the `fill` property.",
|
|
870
|
+
path: "src/lib/components/ui/form/Form.svelte",
|
|
871
|
+
importPath: "Form",
|
|
872
|
+
examples: [
|
|
873
|
+
{
|
|
874
|
+
title: "Form with multiple input types",
|
|
875
|
+
href: "/form",
|
|
876
|
+
code: `import { Form } from "negodesign"
|
|
877
|
+
|
|
878
|
+
<Form
|
|
879
|
+
onSubmit={(data) => console.log(data)}
|
|
880
|
+
submitText="Save"
|
|
881
|
+
inputs={[
|
|
882
|
+
{ type: "text", name: "name", label: "Full Name", placeholder: "John Doe", required: true },
|
|
883
|
+
{ type: "email", name: "email", label: "Email", placeholder: "john@example.com", required: true },
|
|
884
|
+
{ type: "select", name: "role", label: "Role", options: [
|
|
885
|
+
{ value: "ADMIN", label: "Admin" },
|
|
886
|
+
{ value: "USER", label: "User" },
|
|
887
|
+
]},
|
|
888
|
+
{ type: "toggle", name: "active", label: "Active", description: "Enable this account" },
|
|
889
|
+
{ type: "textarea", name: "bio", label: "Bio", placeholder: "Tell us about yourself", fill: true },
|
|
890
|
+
{ type: "badges", name: "tags", label: "Tags", placeholder: "Add tags...", suggestions: ["React", "Svelte", "Vue"] },
|
|
891
|
+
]}
|
|
892
|
+
/>`,
|
|
893
|
+
},
|
|
894
|
+
],
|
|
895
|
+
props: [
|
|
896
|
+
{ name: "inputs", type: "FormInputConfig[]", description: "Required. Array of input configurations: { type, name, value?, label?, placeholder?, onChange?, disabled?, required?, fill?, options?, multiple?, rows?, description?, suggestions?, maxTags? }", required: true },
|
|
897
|
+
{ name: "onSubmit", type: "(data: Record<string, string | string[] | boolean>) => void", description: "Called when the form is submitted" },
|
|
898
|
+
{ name: "submitText", type: "string", description: "Submit button text", default: "Submit" },
|
|
899
|
+
{ name: "submitLoadingText", type: "string", description: "Loading state button text", default: "Submitting..." },
|
|
900
|
+
{ name: "isLoading", type: "boolean", description: "Loading state", default: "false" },
|
|
901
|
+
{ name: "columns", type: "1 | 2", description: "Number of grid columns", default: "2" },
|
|
902
|
+
{ name: "gap", type: "string", description: "Gap between fields", default: "gap-4" },
|
|
903
|
+
{ name: "class", type: "string", description: "Extra container CSS class" },
|
|
904
|
+
],
|
|
905
|
+
},
|
|
906
|
+
{
|
|
907
|
+
slug: "modal-form",
|
|
908
|
+
name: "ModalForm",
|
|
909
|
+
category: "Forms",
|
|
910
|
+
description: "Form inside a modal dialog. Same API as Form with added title, subtitle, and modal controls.",
|
|
911
|
+
path: "src/lib/components/ui/modal/form/ui/ModalForm.svelte",
|
|
912
|
+
importPath: "ModalForm",
|
|
913
|
+
examples: [
|
|
914
|
+
{
|
|
915
|
+
title: "Modal Form",
|
|
916
|
+
href: "/modal",
|
|
917
|
+
code: `import { ModalForm } from "negodesign"
|
|
918
|
+
|
|
919
|
+
let isOpen = $state(false);
|
|
920
|
+
|
|
921
|
+
<ModalForm
|
|
922
|
+
bind:isOpen
|
|
923
|
+
title="Edit Profile"
|
|
924
|
+
subtitle="Update your personal information"
|
|
925
|
+
submitText="Save Changes"
|
|
926
|
+
inputs={[
|
|
927
|
+
{ type: "text", name: "name", label: "Name", value: "John Doe", required: true },
|
|
928
|
+
{ type: "email", name: "email", label: "Email", value: "john@example.com" },
|
|
929
|
+
{ type: "toggle", name: "newsletter", label: "Newsletter", description: "Receive updates" },
|
|
930
|
+
]}
|
|
931
|
+
onSubmit={(data) => console.log(data)}
|
|
932
|
+
onCancel={() => console.log("cancelled")}
|
|
933
|
+
/>`,
|
|
934
|
+
},
|
|
935
|
+
],
|
|
936
|
+
props: [
|
|
937
|
+
{ name: "title", type: "string", description: "Required. Modal title", required: true },
|
|
938
|
+
{ name: "subtitle", type: "string", description: "Subtitle below the title" },
|
|
939
|
+
{ name: "inputs", type: "FormInputConfig[]", description: "Required. Same as Form inputs", required: true },
|
|
940
|
+
{ name: "isOpen", type: "boolean", description: "Controls modal visibility (bindable)" },
|
|
941
|
+
{ name: "submitText", type: "string", description: "Submit button text", default: "Submit" },
|
|
942
|
+
{ name: "submitLoadingText", type: "string", description: "Loading state button text", default: "Submitting..." },
|
|
943
|
+
{ name: "cancelText", type: "string", description: "Cancel button text", default: "Cancel" },
|
|
944
|
+
{ name: "isLoading", type: "boolean", description: "Loading state", default: "false" },
|
|
945
|
+
{ name: "showCancel", type: "boolean", description: "Shows the cancel button", default: "true" },
|
|
946
|
+
{ name: "columns", type: "1 | 2", description: "Number of grid columns", default: "2" },
|
|
947
|
+
{ name: "onSubmit", type: "(data) => void", description: "Called when the form is submitted" },
|
|
948
|
+
{ name: "onCancel", type: "() => void", description: "Called when Cancel is clicked" },
|
|
949
|
+
{ name: "onClose", type: "() => void", description: "Called when the modal is closed" },
|
|
950
|
+
{ name: "class", type: "string", description: "Extra container CSS class" },
|
|
951
|
+
],
|
|
952
|
+
},
|
|
953
|
+
{
|
|
954
|
+
slug: "modal-upload",
|
|
955
|
+
name: "ModalUpload",
|
|
956
|
+
category: "Modals",
|
|
957
|
+
description: "File upload modal with drag and drop area, file list with progress bars, status indicators (uploading/completed/failed), and retry/remove actions.",
|
|
958
|
+
path: "src/lib/components/ui/modal/upload/ui/ModalUpload.svelte",
|
|
959
|
+
importPath: "ModalUpload",
|
|
960
|
+
examples: [
|
|
961
|
+
{
|
|
962
|
+
title: "Modal Upload",
|
|
963
|
+
href: "/modal",
|
|
964
|
+
code: `import { ModalUpload } from "negodesign"
|
|
965
|
+
import type { UploadFile } from "negodesign"
|
|
966
|
+
|
|
967
|
+
let isOpen = $state(false);
|
|
968
|
+
let files = $state<UploadFile[]>([]);
|
|
969
|
+
|
|
970
|
+
<ModalUpload
|
|
971
|
+
bind:isOpen
|
|
972
|
+
bind:files
|
|
973
|
+
acceptedFormats="csv, xlsx, xls"
|
|
974
|
+
multiple
|
|
975
|
+
onFilesSelected={(f) => console.log("selected", f)}
|
|
976
|
+
onUpload={(f) => console.log("upload", f)}
|
|
977
|
+
onRemoveFile={(id) => console.log("remove", id)}
|
|
978
|
+
onDownload={() => console.log("download sample")}
|
|
979
|
+
/>`,
|
|
980
|
+
},
|
|
981
|
+
],
|
|
982
|
+
props: [
|
|
983
|
+
{ name: "title", type: "string", description: "Modal title", default: "Upload File" },
|
|
984
|
+
{ name: "accept", type: "string", description: "Accepted MIME types" },
|
|
985
|
+
{ name: "acceptedFormats", type: "string", description: "Displayed accepted formats text" },
|
|
986
|
+
{ name: "files", type: "UploadFile[]", description: "File list (bindable)" },
|
|
987
|
+
{ name: "isOpen", type: "boolean", description: "Controls modal visibility (bindable)" },
|
|
988
|
+
{ name: "multiple", type: "boolean", description: "Allows multiple files", default: "true" },
|
|
989
|
+
{ name: "maxSize", type: "number", description: "Max file size in bytes (0 = unlimited)", default: "0" },
|
|
990
|
+
{ name: "isLoading", type: "boolean", description: "Upload loading state" },
|
|
991
|
+
{ name: "onFilesSelected", type: "(files: File[]) => void", description: "Called when files are selected" },
|
|
992
|
+
{ name: "onUpload", type: "(files: UploadFile[]) => void", description: "Called when Upload is clicked" },
|
|
993
|
+
{ name: "onCancel", type: "() => void", description: "Called when Cancel is clicked" },
|
|
994
|
+
{ name: "onRemoveFile", type: "(id: string) => void", description: "Called when a file is removed" },
|
|
995
|
+
{ name: "onRetryFile", type: "(id: string) => void", description: "Called when retry is clicked on a failed file" },
|
|
996
|
+
{ name: "onDownload", type: "() => void", description: "Called when the download sample link is clicked" },
|
|
997
|
+
{ name: "onClose", type: "() => void", description: "Called when the modal is closed" },
|
|
998
|
+
{ name: "class", type: "string", description: "Extra container CSS class" },
|
|
999
|
+
],
|
|
1000
|
+
},
|
|
1001
|
+
{
|
|
1002
|
+
slug: "modal-core",
|
|
1003
|
+
name: "ModalCore",
|
|
1004
|
+
category: "Modals",
|
|
1005
|
+
description: "Reusable base shell for all modals. Provides overlay, gradient-bordered container, header, and footer with progress bar and navigation buttons. Supports custom content and footer snippets.",
|
|
1006
|
+
path: "src/lib/components/ui/modal/core/ui/ModalCore.svelte",
|
|
1007
|
+
importPath: "ModalCore",
|
|
1008
|
+
examples: [
|
|
1009
|
+
{
|
|
1010
|
+
title: "Modal Core",
|
|
1011
|
+
code: `import { ModalCore } from "negodesign"
|
|
1012
|
+
|
|
1013
|
+
let isOpen = $state(false);
|
|
1014
|
+
|
|
1015
|
+
<ModalCore
|
|
1016
|
+
bind:isOpen
|
|
1017
|
+
title="Custom Modal"
|
|
1018
|
+
subtitle="With custom content"
|
|
1019
|
+
totalSteps={3}
|
|
1020
|
+
currentStep={1}
|
|
1021
|
+
showProgress
|
|
1022
|
+
showBack
|
|
1023
|
+
showSkip
|
|
1024
|
+
onContinue={() => console.log("continue")}
|
|
1025
|
+
onSkip={() => console.log("skip")}
|
|
1026
|
+
>
|
|
1027
|
+
{#snippet content()}
|
|
1028
|
+
<p>Your custom content here</p>
|
|
1029
|
+
{/snippet}
|
|
1030
|
+
</ModalCore>`,
|
|
1031
|
+
},
|
|
1032
|
+
],
|
|
1033
|
+
props: [
|
|
1034
|
+
{ name: "isOpen", type: "boolean", description: "Required. Controls modal visibility (bindable)", required: true },
|
|
1035
|
+
{ name: "title", type: "string", description: "Required. Modal title", required: true },
|
|
1036
|
+
{ name: "subtitle", type: "string", description: "Subtitle below the title" },
|
|
1037
|
+
{ name: "totalSteps", type: "number", description: "Total number of steps for progress bar", default: "1" },
|
|
1038
|
+
{ name: "currentStep", type: "number", description: "Current step index", default: "1" },
|
|
1039
|
+
{ name: "showProgress", type: "boolean", description: "Shows the progress bar", default: "true" },
|
|
1040
|
+
{ name: "showBack", type: "boolean", description: "Shows the Back button", default: "true" },
|
|
1041
|
+
{ name: "showSkip", type: "boolean", description: "Shows the Skip link", default: "false" },
|
|
1042
|
+
{ name: "skipText", type: "string", description: "Skip link text", default: "Skip This Step" },
|
|
1043
|
+
{ name: "continueText", type: "string", description: "Continue button text", default: "Continue" },
|
|
1044
|
+
{ name: "backText", type: "string", description: "Back button text", default: "Back" },
|
|
1045
|
+
{ name: "onBack", type: "() => void", description: "Called when Back is clicked" },
|
|
1046
|
+
{ name: "onContinue", type: "() => void", description: "Called when Continue is clicked" },
|
|
1047
|
+
{ name: "onSkip", type: "() => void", description: "Called when Skip is clicked" },
|
|
1048
|
+
{ name: "onClose", type: "() => void", description: "Called when the modal is closed" },
|
|
1049
|
+
{ name: "content", type: "Snippet", description: "Custom content snippet" },
|
|
1050
|
+
{ name: "footer", type: "Snippet", description: "Custom footer snippet (replaces default)" },
|
|
1051
|
+
{ name: "class", type: "string", description: "Extra container CSS class" },
|
|
1052
|
+
],
|
|
1053
|
+
},
|
|
1054
|
+
{
|
|
1055
|
+
slug: "modal-map",
|
|
1056
|
+
name: "ModalMap",
|
|
1057
|
+
category: "Modals",
|
|
1058
|
+
description: "Location picker modal with a map area, search bar, address/description popup, and business location checkbox. Sixth variation of the modal system.",
|
|
1059
|
+
path: "src/lib/components/ui/modal/map/ui/ModalMap.svelte",
|
|
1060
|
+
importPath: "ModalMap",
|
|
1061
|
+
examples: [
|
|
1062
|
+
{
|
|
1063
|
+
title: "Modal Map",
|
|
1064
|
+
href: "/modal",
|
|
1065
|
+
code: `import { ModalMap } from "negodesign"
|
|
1066
|
+
|
|
1067
|
+
let isOpen = $state(false);
|
|
1068
|
+
|
|
1069
|
+
<ModalMap
|
|
1070
|
+
bind:isOpen
|
|
1071
|
+
title="Location"
|
|
1072
|
+
address="211 Throop Ave Brooklyn, New York City"
|
|
1073
|
+
description="New York is served by three airports."
|
|
1074
|
+
onSearch={(q) => console.log(q)}
|
|
1075
|
+
onApply={(addr, desc) => console.log(addr, desc)}
|
|
1076
|
+
onCancel={() => console.log("cancel")}
|
|
1077
|
+
/>`,
|
|
1078
|
+
},
|
|
1079
|
+
],
|
|
1080
|
+
props: [
|
|
1081
|
+
{ name: "title", type: "string", description: "Location popup title", default: "Location" },
|
|
1082
|
+
{ name: "searchPlaceholder", type: "string", description: "Search bar placeholder", default: "Search address..." },
|
|
1083
|
+
{ name: "address", type: "string", description: "Current address value" },
|
|
1084
|
+
{ name: "addressLabel", type: "string", description: "Address field label", default: "Address" },
|
|
1085
|
+
{ name: "description", type: "string", description: "Location description/notes" },
|
|
1086
|
+
{ name: "descriptionLabel", type: "string", description: "Description field label", default: "Description" },
|
|
1087
|
+
{ name: "editButtonText", type: "string", description: "Edit button text", default: "Edit" },
|
|
1088
|
+
{ name: "useLocationText", type: "string", description: "Checkbox label text", default: "Use your business location" },
|
|
1089
|
+
{ name: "useLocationChecked", type: "boolean", description: "Checkbox state (bindable)" },
|
|
1090
|
+
{ name: "cancelText", type: "string", description: "Cancel button text", default: "Cancel" },
|
|
1091
|
+
{ name: "applyText", type: "string", description: "Apply button text", default: "Apply" },
|
|
1092
|
+
{ name: "isLoading", type: "boolean", description: "Loading state", default: "false" },
|
|
1093
|
+
{ name: "isOpen", type: "boolean", description: "Controls modal visibility (bindable)" },
|
|
1094
|
+
{ name: "onSearch", type: "(query: string) => void", description: "Called when searching an address" },
|
|
1095
|
+
{ name: "onEdit", type: "() => void", description: "Called when Edit is clicked" },
|
|
1096
|
+
{ name: "onApply", type: "(address: string, description: string) => void", description: "Called when Apply is clicked" },
|
|
1097
|
+
{ name: "onCancel", type: "() => void", description: "Called when Cancel is clicked" },
|
|
1098
|
+
{ name: "onToggleLocation", type: "(checked: boolean) => void", description: "Called when the checkbox is toggled" },
|
|
1099
|
+
{ name: "onClose", type: "() => void", description: "Called when the modal is closed" },
|
|
1100
|
+
{ name: "mapSlot", type: "Snippet", description: "Custom map content snippet" },
|
|
1101
|
+
{ name: "class", type: "string", description: "Extra container CSS class" },
|
|
1102
|
+
],
|
|
1103
|
+
},
|
|
603
1104
|
{
|
|
604
1105
|
slug: "footer",
|
|
605
1106
|
name: "Footer",
|
|
@@ -610,17 +1111,17 @@ export const components = [
|
|
|
610
1111
|
examples: [
|
|
611
1112
|
{
|
|
612
1113
|
title: "Footer",
|
|
613
|
-
code: `import { Footer } from "negodesign"
|
|
614
|
-
|
|
615
|
-
<Footer
|
|
616
|
-
isNewsletter={true}
|
|
617
|
-
items={[
|
|
618
|
-
{ title: "Solutions", items: [{ text: "Marketing" }] },
|
|
619
|
-
]}
|
|
620
|
-
socialsMedia={[
|
|
621
|
-
{ icon: "facebook", text: "Facebook", href: "#" },
|
|
622
|
-
]}
|
|
623
|
-
companyName="Negoturismo"
|
|
1114
|
+
code: `import { Footer } from "negodesign"
|
|
1115
|
+
|
|
1116
|
+
<Footer
|
|
1117
|
+
isNewsletter={true}
|
|
1118
|
+
items={[
|
|
1119
|
+
{ title: "Solutions", items: [{ text: "Marketing" }] },
|
|
1120
|
+
]}
|
|
1121
|
+
socialsMedia={[
|
|
1122
|
+
{ icon: "facebook", text: "Facebook", href: "#" },
|
|
1123
|
+
]}
|
|
1124
|
+
companyName="Negoturismo"
|
|
624
1125
|
/>`,
|
|
625
1126
|
href: "/footer",
|
|
626
1127
|
},
|
|
@@ -647,15 +1148,15 @@ export const components = [
|
|
|
647
1148
|
examples: [
|
|
648
1149
|
{
|
|
649
1150
|
title: "Admin Panel",
|
|
650
|
-
code: `import { AdminPanel } from "negodesign"
|
|
651
|
-
|
|
652
|
-
<AdminPanel>
|
|
653
|
-
{#snippet appsidebar()}
|
|
654
|
-
<MenuBarSidebar {user} {menus} {menusButtons} />
|
|
655
|
-
{/snippet}
|
|
656
|
-
{#snippet content()}
|
|
657
|
-
<AdminContent>...content...</AdminContent>
|
|
658
|
-
{/snippet}
|
|
1151
|
+
code: `import { AdminPanel } from "negodesign"
|
|
1152
|
+
|
|
1153
|
+
<AdminPanel>
|
|
1154
|
+
{#snippet appsidebar()}
|
|
1155
|
+
<MenuBarSidebar {user} {menus} {menusButtons} />
|
|
1156
|
+
{/snippet}
|
|
1157
|
+
{#snippet content()}
|
|
1158
|
+
<AdminContent>...content...</AdminContent>
|
|
1159
|
+
{/snippet}
|
|
659
1160
|
</AdminPanel>`,
|
|
660
1161
|
href: "/admin/01",
|
|
661
1162
|
},
|
|
@@ -676,13 +1177,13 @@ export const components = [
|
|
|
676
1177
|
examples: [
|
|
677
1178
|
{
|
|
678
1179
|
title: "Data Table",
|
|
679
|
-
code: `import { DataTableCore } from "negodesign"
|
|
680
|
-
|
|
681
|
-
<DataTableCore
|
|
682
|
-
items={rows}
|
|
683
|
-
config={columns}
|
|
684
|
-
columnFilter="name"
|
|
685
|
-
actions={RowActions}
|
|
1180
|
+
code: `import { DataTableCore } from "negodesign"
|
|
1181
|
+
|
|
1182
|
+
<DataTableCore
|
|
1183
|
+
items={rows}
|
|
1184
|
+
config={columns}
|
|
1185
|
+
columnFilter="name"
|
|
1186
|
+
actions={RowActions}
|
|
686
1187
|
/>`,
|
|
687
1188
|
href: "/datatable/01",
|
|
688
1189
|
},
|
|
@@ -704,12 +1205,12 @@ export const components = [
|
|
|
704
1205
|
examples: [
|
|
705
1206
|
{
|
|
706
1207
|
title: "Sidebar",
|
|
707
|
-
code: `import { MenuBarSidebar } from "negodesign"
|
|
708
|
-
|
|
709
|
-
<MenuBarSidebar
|
|
710
|
-
{menus}
|
|
711
|
-
{user}
|
|
712
|
-
{menusButtons}
|
|
1208
|
+
code: `import { MenuBarSidebar } from "negodesign"
|
|
1209
|
+
|
|
1210
|
+
<MenuBarSidebar
|
|
1211
|
+
{menus}
|
|
1212
|
+
{user}
|
|
1213
|
+
{menusButtons}
|
|
713
1214
|
/>`,
|
|
714
1215
|
},
|
|
715
1216
|
],
|
|
@@ -732,15 +1233,15 @@ export const components = [
|
|
|
732
1233
|
examples: [
|
|
733
1234
|
{
|
|
734
1235
|
title: "Login Page",
|
|
735
|
-
code: `import { PageLogin } from "negodesign"
|
|
736
|
-
|
|
737
|
-
<PageLogin
|
|
738
|
-
title="Negodesign"
|
|
739
|
-
formType="EMAIL_PASSWORD"
|
|
740
|
-
carousel={[
|
|
741
|
-
{ title: "Welcome", description: "Access your account", buttonText: "Sign in" },
|
|
742
|
-
]}
|
|
743
|
-
onSubmit={(credential) => console.log(credential)}
|
|
1236
|
+
code: `import { PageLogin } from "negodesign"
|
|
1237
|
+
|
|
1238
|
+
<PageLogin
|
|
1239
|
+
title="Negodesign"
|
|
1240
|
+
formType="EMAIL_PASSWORD"
|
|
1241
|
+
carousel={[
|
|
1242
|
+
{ title: "Welcome", description: "Access your account", buttonText: "Sign in" },
|
|
1243
|
+
]}
|
|
1244
|
+
onSubmit={(credential) => console.log(credential)}
|
|
744
1245
|
/>`,
|
|
745
1246
|
href: "/login/admin/01",
|
|
746
1247
|
},
|
|
@@ -767,13 +1268,13 @@ export const components = [
|
|
|
767
1268
|
examples: [
|
|
768
1269
|
{
|
|
769
1270
|
title: "Company Profile",
|
|
770
|
-
code: `import { CompanyProfile } from "negodesign"
|
|
771
|
-
|
|
772
|
-
<CompanyProfile
|
|
773
|
-
data={data}
|
|
774
|
-
isLoading={false}
|
|
775
|
-
onWhatsapp={(id) => console.log(id)}
|
|
776
|
-
onEmail={(id) => console.log(id)}
|
|
1271
|
+
code: `import { CompanyProfile } from "negodesign"
|
|
1272
|
+
|
|
1273
|
+
<CompanyProfile
|
|
1274
|
+
data={data}
|
|
1275
|
+
isLoading={false}
|
|
1276
|
+
onWhatsapp={(id) => console.log(id)}
|
|
1277
|
+
onEmail={(id) => console.log(id)}
|
|
777
1278
|
/>`,
|
|
778
1279
|
href: "/company-profile",
|
|
779
1280
|
},
|
|
@@ -797,14 +1298,14 @@ export const components = [
|
|
|
797
1298
|
examples: [
|
|
798
1299
|
{
|
|
799
1300
|
title: "Privacy Policy",
|
|
800
|
-
code: `import { PrivacyPolicyOrTermsOfUse } from "negodesign"
|
|
801
|
-
|
|
802
|
-
<PrivacyPolicyOrTermsOfUse
|
|
803
|
-
variant={1}
|
|
804
|
-
title="Privacy Policy"
|
|
805
|
-
lastUpdated="August 15, 2026"
|
|
806
|
-
breadcrumb={[{ label: "Home", href: "/" }]}
|
|
807
|
-
sections={[{ id: "intro", title: "Introduction", blocks: [] }]}
|
|
1301
|
+
code: `import { PrivacyPolicyOrTermsOfUse } from "negodesign"
|
|
1302
|
+
|
|
1303
|
+
<PrivacyPolicyOrTermsOfUse
|
|
1304
|
+
variant={1}
|
|
1305
|
+
title="Privacy Policy"
|
|
1306
|
+
lastUpdated="August 15, 2026"
|
|
1307
|
+
breadcrumb={[{ label: "Home", href: "/" }]}
|
|
1308
|
+
sections={[{ id: "intro", title: "Introduction", blocks: [] }]}
|
|
808
1309
|
/>`,
|
|
809
1310
|
href: "/privacy-policy-or-terms-of-use",
|
|
810
1311
|
},
|
|
@@ -829,15 +1330,15 @@ export const components = [
|
|
|
829
1330
|
examples: [
|
|
830
1331
|
{
|
|
831
1332
|
title: "Product Details",
|
|
832
|
-
code: `import { ProductDetails } from "negodesign"
|
|
833
|
-
|
|
834
|
-
<ProductDetails
|
|
835
|
-
varient={1}
|
|
836
|
-
data={productData}
|
|
837
|
-
isLoading={false}
|
|
838
|
-
onBuy={(id) => alert("Buy " + id)}
|
|
839
|
-
onFavorite={(id) => alert("Favorite " + id)}
|
|
840
|
-
onCart={(id) => alert("Cart " + id)}
|
|
1333
|
+
code: `import { ProductDetails } from "negodesign"
|
|
1334
|
+
|
|
1335
|
+
<ProductDetails
|
|
1336
|
+
varient={1}
|
|
1337
|
+
data={productData}
|
|
1338
|
+
isLoading={false}
|
|
1339
|
+
onBuy={(id) => alert("Buy " + id)}
|
|
1340
|
+
onFavorite={(id) => alert("Favorite " + id)}
|
|
1341
|
+
onCart={(id) => alert("Cart " + id)}
|
|
841
1342
|
/>`,
|
|
842
1343
|
href: "/product-details/01",
|
|
843
1344
|
},
|
|
@@ -863,15 +1364,15 @@ export const components = [
|
|
|
863
1364
|
examples: [
|
|
864
1365
|
{
|
|
865
1366
|
title: "User Profile",
|
|
866
|
-
code: `import { ProfileUser } from "negodesign"
|
|
867
|
-
|
|
868
|
-
<ProfileUser
|
|
869
|
-
varient={1}
|
|
870
|
-
data={userData}
|
|
871
|
-
isLoading={false}
|
|
872
|
-
onLoginAsUser={(id) => alert(id)}
|
|
873
|
-
onAddAddress={() => alert("Add")}
|
|
874
|
-
onChangePassword={(p) => alert(JSON.stringify(p))}
|
|
1367
|
+
code: `import { ProfileUser } from "negodesign"
|
|
1368
|
+
|
|
1369
|
+
<ProfileUser
|
|
1370
|
+
varient={1}
|
|
1371
|
+
data={userData}
|
|
1372
|
+
isLoading={false}
|
|
1373
|
+
onLoginAsUser={(id) => alert(id)}
|
|
1374
|
+
onAddAddress={() => alert("Add")}
|
|
1375
|
+
onChangePassword={(p) => alert(JSON.stringify(p))}
|
|
875
1376
|
/>`,
|
|
876
1377
|
href: "/profile-user/01",
|
|
877
1378
|
},
|
|
@@ -888,6 +1389,387 @@ export const components = [
|
|
|
888
1389
|
{ name: "userTabs", type: "ProfileUserTabsProps", description: "Tabs style: underline | pill" },
|
|
889
1390
|
],
|
|
890
1391
|
},
|
|
1392
|
+
{
|
|
1393
|
+
slug: "tab-underline",
|
|
1394
|
+
name: "TabUnderline",
|
|
1395
|
+
category: "Tabs",
|
|
1396
|
+
description: "Tab component with underline style. Switches content (Snippet) based on the selected tab.",
|
|
1397
|
+
path: "src/lib/components/ui/tabs/ui/tab-underline.svelte",
|
|
1398
|
+
importPath: "TabUnderline",
|
|
1399
|
+
examples: [
|
|
1400
|
+
{
|
|
1401
|
+
title: "Tab Underline",
|
|
1402
|
+
href: "/tab",
|
|
1403
|
+
code: `import { TabUnderline } from "negodesign"
|
|
1404
|
+
|
|
1405
|
+
<TabUnderline
|
|
1406
|
+
items={[
|
|
1407
|
+
{ label: "Tab 1", value: "tab1" },
|
|
1408
|
+
{ label: "Tab 2", value: "tab2" },
|
|
1409
|
+
]}
|
|
1410
|
+
contents={{
|
|
1411
|
+
tab1: () => <p>Content 1</p>,
|
|
1412
|
+
tab2: () => <p>Content 2</p>,
|
|
1413
|
+
}}
|
|
1414
|
+
/>`,
|
|
1415
|
+
},
|
|
1416
|
+
],
|
|
1417
|
+
props: [
|
|
1418
|
+
{ name: "items", type: "TabProps[]", description: "Required. Tabs: { item: { label, value }, children? }", required: true },
|
|
1419
|
+
{ name: "contents", type: "Record<string, Snippet>", description: "Content snippets keyed by tab value" },
|
|
1420
|
+
{ name: "className", type: "string", description: "Extra CSS class" },
|
|
1421
|
+
],
|
|
1422
|
+
},
|
|
1423
|
+
{
|
|
1424
|
+
slug: "not-found-empty",
|
|
1425
|
+
name: "NotFoundEmpty",
|
|
1426
|
+
category: "Empty States",
|
|
1427
|
+
description: "Empty state with icon, title, description and an action (link or button) for when there is no content to display.",
|
|
1428
|
+
path: "src/lib/components/ui/panel/NotFoundEmpty.svelte",
|
|
1429
|
+
importPath: "NotFoundEmpty",
|
|
1430
|
+
examples: [
|
|
1431
|
+
{
|
|
1432
|
+
title: "Empty State",
|
|
1433
|
+
code: `import { NotFoundEmpty } from "negodesign"
|
|
1434
|
+
|
|
1435
|
+
<NotFoundEmpty
|
|
1436
|
+
title="No results found"
|
|
1437
|
+
description="Try adjusting your search or filter to find what you're looking for."
|
|
1438
|
+
showAction
|
|
1439
|
+
actionLabel="Clear filters"
|
|
1440
|
+
onAction={() => console.log("clear")}
|
|
1441
|
+
/>`,
|
|
1442
|
+
},
|
|
1443
|
+
],
|
|
1444
|
+
props: [
|
|
1445
|
+
{ name: "title", type: "string", description: "Required. Empty state title", required: true },
|
|
1446
|
+
{ name: "description", type: "string", description: "Supporting text" },
|
|
1447
|
+
{ name: "icon", type: "IconSvgElement", description: "Icon displayed in the media area" },
|
|
1448
|
+
{ name: "actionHref", type: "string", description: "Action URL (renders a link)" },
|
|
1449
|
+
{ name: "actionLabel", type: "string", description: "Action label text" },
|
|
1450
|
+
{ name: "onAction", type: "() => void", description: "Called when the action is clicked" },
|
|
1451
|
+
{ name: "showAction", type: "boolean", description: "Shows the action" },
|
|
1452
|
+
{ name: "children", type: "Snippet", description: "Custom content replacing the default action" },
|
|
1453
|
+
],
|
|
1454
|
+
},
|
|
1455
|
+
{
|
|
1456
|
+
slug: "admin-content",
|
|
1457
|
+
name: "AdminContent",
|
|
1458
|
+
category: "Admin Panel",
|
|
1459
|
+
description: "Wrapper for admin page content. Applies padding, flex column layout and consistent gaps between sections.",
|
|
1460
|
+
path: "src/lib/components/pages/admin/01/ui/AdminContent.svelte",
|
|
1461
|
+
importPath: "AdminContent",
|
|
1462
|
+
examples: [
|
|
1463
|
+
{
|
|
1464
|
+
title: "Admin Content",
|
|
1465
|
+
code: `import { AdminContent } from "negodesign"
|
|
1466
|
+
|
|
1467
|
+
<AdminContent>
|
|
1468
|
+
<h1>Dashboard</h1>
|
|
1469
|
+
<p>Content goes here</p>
|
|
1470
|
+
</AdminContent>`,
|
|
1471
|
+
},
|
|
1472
|
+
],
|
|
1473
|
+
props: [
|
|
1474
|
+
{ name: "children", type: "Snippet", description: "Required. Page content", required: true },
|
|
1475
|
+
],
|
|
1476
|
+
},
|
|
1477
|
+
{
|
|
1478
|
+
slug: "input-email",
|
|
1479
|
+
name: "InputEmail",
|
|
1480
|
+
category: "Form Inputs",
|
|
1481
|
+
description: "Email input field with icon and label, using InputBase. Supports two-way binding via value.",
|
|
1482
|
+
path: "src/lib/components/ui/form/ui/input-email.svelte",
|
|
1483
|
+
importPath: "InputEmail",
|
|
1484
|
+
examples: [
|
|
1485
|
+
{
|
|
1486
|
+
title: "Input Email",
|
|
1487
|
+
code: `import { InputEmail } from "negodesign"
|
|
1488
|
+
|
|
1489
|
+
<InputEmail
|
|
1490
|
+
label="Email"
|
|
1491
|
+
placeholder="john@example.com"
|
|
1492
|
+
bind:value={email}
|
|
1493
|
+
/>`,
|
|
1494
|
+
},
|
|
1495
|
+
],
|
|
1496
|
+
props: [
|
|
1497
|
+
{ name: "value", type: "string", description: "Bound value" },
|
|
1498
|
+
{ name: "label", type: "string", description: "Field label" },
|
|
1499
|
+
{ name: "placeholder", type: "string", description: "Placeholder text" },
|
|
1500
|
+
],
|
|
1501
|
+
},
|
|
1502
|
+
{
|
|
1503
|
+
slug: "input-phone",
|
|
1504
|
+
name: "InputPhone",
|
|
1505
|
+
category: "Form Inputs",
|
|
1506
|
+
description: "Phone input with country selector (code + flag) and format validation.",
|
|
1507
|
+
path: "src/lib/components/ui/form/ui/input-phone.svelte",
|
|
1508
|
+
importPath: "InputPhone",
|
|
1509
|
+
examples: [
|
|
1510
|
+
{
|
|
1511
|
+
title: "Input Phone",
|
|
1512
|
+
code: `import { InputPhone } from "negodesign"
|
|
1513
|
+
|
|
1514
|
+
<InputPhone
|
|
1515
|
+
label="Phone"
|
|
1516
|
+
placeholder="+1 234 567 890"
|
|
1517
|
+
bind:value={phone}
|
|
1518
|
+
/>`,
|
|
1519
|
+
},
|
|
1520
|
+
],
|
|
1521
|
+
props: [
|
|
1522
|
+
{ name: "value", type: "string", description: "Bound value" },
|
|
1523
|
+
{ name: "label", type: "string", description: "Field label" },
|
|
1524
|
+
{ name: "placeholder", type: "string", description: "Placeholder text" },
|
|
1525
|
+
],
|
|
1526
|
+
},
|
|
1527
|
+
{
|
|
1528
|
+
slug: "input-password",
|
|
1529
|
+
name: "InputPassword",
|
|
1530
|
+
category: "Form Inputs",
|
|
1531
|
+
description: "Password input with visibility toggle (eye icon). Supports two-way binding.",
|
|
1532
|
+
path: "src/lib/components/ui/form/ui/input-password.svelte",
|
|
1533
|
+
importPath: "InputPassword",
|
|
1534
|
+
examples: [
|
|
1535
|
+
{
|
|
1536
|
+
title: "Input Password",
|
|
1537
|
+
code: `import { InputPassword } from "negodesign"
|
|
1538
|
+
|
|
1539
|
+
<InputPassword
|
|
1540
|
+
label="Password"
|
|
1541
|
+
placeholder="Enter your password"
|
|
1542
|
+
bind:value={password}
|
|
1543
|
+
/>`,
|
|
1544
|
+
},
|
|
1545
|
+
],
|
|
1546
|
+
props: [
|
|
1547
|
+
{ name: "value", type: "string", description: "Bound value" },
|
|
1548
|
+
{ name: "label", type: "string", description: "Field label" },
|
|
1549
|
+
{ name: "placeholder", type: "string", description: "Placeholder text" },
|
|
1550
|
+
],
|
|
1551
|
+
},
|
|
1552
|
+
{
|
|
1553
|
+
slug: "input-username",
|
|
1554
|
+
name: "InputUsername",
|
|
1555
|
+
category: "Form Inputs",
|
|
1556
|
+
description: "Username input field with icon and label.",
|
|
1557
|
+
path: "src/lib/components/ui/form/ui/input-username.svelte",
|
|
1558
|
+
importPath: "InputUsername",
|
|
1559
|
+
examples: [
|
|
1560
|
+
{
|
|
1561
|
+
title: "Input Username",
|
|
1562
|
+
code: `import { InputUsername } from "negodesign"
|
|
1563
|
+
|
|
1564
|
+
<InputUsername
|
|
1565
|
+
label="Username"
|
|
1566
|
+
placeholder="john_doe"
|
|
1567
|
+
bind:value={username}
|
|
1568
|
+
/>`,
|
|
1569
|
+
},
|
|
1570
|
+
],
|
|
1571
|
+
props: [
|
|
1572
|
+
{ name: "value", type: "string", description: "Bound value" },
|
|
1573
|
+
{ name: "label", type: "string", description: "Field label" },
|
|
1574
|
+
{ name: "placeholder", type: "string", description: "Placeholder text" },
|
|
1575
|
+
],
|
|
1576
|
+
},
|
|
1577
|
+
{
|
|
1578
|
+
slug: "page-forget-password",
|
|
1579
|
+
name: "PageForgetPassword",
|
|
1580
|
+
category: "Login / Security",
|
|
1581
|
+
description: "Password recovery page with hero carousel and form card for requesting a recovery link by email.",
|
|
1582
|
+
path: "src/lib/components/pages/security/forget-password/PageForgetPassword.svelte",
|
|
1583
|
+
importPath: "PageForgetPassword",
|
|
1584
|
+
examples: [
|
|
1585
|
+
{
|
|
1586
|
+
title: "Forget Password Page",
|
|
1587
|
+
code: `import { PageForgetPassword } from "negodesign"
|
|
1588
|
+
|
|
1589
|
+
<PageForgetPassword
|
|
1590
|
+
title="Negodesign"
|
|
1591
|
+
onSubmit={(data) => console.log(data)}
|
|
1592
|
+
/>`,
|
|
1593
|
+
href: "/login/forget-password/01",
|
|
1594
|
+
},
|
|
1595
|
+
],
|
|
1596
|
+
props: [
|
|
1597
|
+
{ name: "title", type: "string", description: "Title shown in the hero/header" },
|
|
1598
|
+
{ name: "variant", type: "ForgetPasswordVariant", description: "Form variant" },
|
|
1599
|
+
{ name: "onSubmit", type: "(data) => Promise<void>", description: "Called on submit" },
|
|
1600
|
+
],
|
|
1601
|
+
},
|
|
1602
|
+
{
|
|
1603
|
+
slug: "page-reset-password",
|
|
1604
|
+
name: "PageResetPassword",
|
|
1605
|
+
category: "Login / Security",
|
|
1606
|
+
description: "Password reset page with hero carousel and form card for entering and confirming a new password.",
|
|
1607
|
+
path: "src/lib/components/pages/security/reset-password/PageResetPassword.svelte",
|
|
1608
|
+
importPath: "PageResetPassword",
|
|
1609
|
+
examples: [
|
|
1610
|
+
{
|
|
1611
|
+
title: "Reset Password Page",
|
|
1612
|
+
code: `import { PageResetPassword } from "negodesign"
|
|
1613
|
+
|
|
1614
|
+
<PageResetPassword
|
|
1615
|
+
onSubmit={(data) => console.log(data)}
|
|
1616
|
+
/>`,
|
|
1617
|
+
href: "/login/reset-password/01",
|
|
1618
|
+
},
|
|
1619
|
+
],
|
|
1620
|
+
props: [
|
|
1621
|
+
{ name: "onSubmit", type: "(data) => Promise<void>", description: "Called on submit" },
|
|
1622
|
+
],
|
|
1623
|
+
},
|
|
1624
|
+
{
|
|
1625
|
+
slug: "page-otp-verification",
|
|
1626
|
+
name: "PageOtpVerification",
|
|
1627
|
+
category: "Login / Security",
|
|
1628
|
+
description: "OTP verification page with hero carousel and 6-digit code input for login or recovery validation.",
|
|
1629
|
+
path: "src/lib/components/pages/security/otp-verification/PageOtpVerification.svelte",
|
|
1630
|
+
importPath: "PageOtpVerification",
|
|
1631
|
+
examples: [
|
|
1632
|
+
{
|
|
1633
|
+
title: "OTP Verification Page",
|
|
1634
|
+
code: `import { PageOtpVerification } from "negodesign"
|
|
1635
|
+
|
|
1636
|
+
<PageOtpVerification
|
|
1637
|
+
onSubmit={(data) => console.log(data)}
|
|
1638
|
+
/>`,
|
|
1639
|
+
href: "/login/otp/01",
|
|
1640
|
+
},
|
|
1641
|
+
],
|
|
1642
|
+
props: [
|
|
1643
|
+
{ name: "initialData", type: "OtpVerificationRequestDto", description: "Initial values" },
|
|
1644
|
+
{ name: "onSubmit", type: "(data) => Promise<void>", description: "Called when OTP is validated" },
|
|
1645
|
+
],
|
|
1646
|
+
},
|
|
1647
|
+
{
|
|
1648
|
+
slug: "section-01",
|
|
1649
|
+
name: "Section01",
|
|
1650
|
+
category: "Sections",
|
|
1651
|
+
description: "Section with a large title, description, navigation arrows, and a horizontal row of selectable cards with icons. Ideal for showcasing business sectors or service categories.",
|
|
1652
|
+
path: "src/lib/components/ui/section/Section01.svelte",
|
|
1653
|
+
importPath: "Section01",
|
|
1654
|
+
examples: [
|
|
1655
|
+
{
|
|
1656
|
+
title: "Tailored Logistics Cards",
|
|
1657
|
+
code: `import { Section01 } from "negodesign"
|
|
1658
|
+
import {
|
|
1659
|
+
ShoppingBag01Icon,
|
|
1660
|
+
FactoryIcon,
|
|
1661
|
+
Stethoscope02Icon,
|
|
1662
|
+
ComputerNetworkIcon,
|
|
1663
|
+
} from "@hugeicons/core-free-icons";
|
|
1664
|
+
|
|
1665
|
+
<Section01
|
|
1666
|
+
title="Tailored Logistics for Every Business"
|
|
1667
|
+
description="At /XION, we understand that every industry has unique logistics challenges."
|
|
1668
|
+
items={[
|
|
1669
|
+
{ id: "1", icon: ShoppingBag01Icon, title: "Retail & E-commerce", description: "Streamline your fulfillment process." },
|
|
1670
|
+
{ id: "2", icon: FactoryIcon, title: "Manufacturing", description: "Optimize your supply chain.", isActive: true },
|
|
1671
|
+
{ id: "3", icon: Stethoscope02Icon, title: "Healthcare & Pharmacy", description: "Ensure the safe delivery of products." },
|
|
1672
|
+
{ id: "4", icon: ComputerNetworkIcon, title: "Technology & Electronics", description: "Handle high-value, sensitive products." },
|
|
1673
|
+
]}
|
|
1674
|
+
onSelect={(id) => console.log(id)}
|
|
1675
|
+
onPrev={() => console.log("prev")}
|
|
1676
|
+
onNext={() => console.log("next")}
|
|
1677
|
+
/>`,
|
|
1678
|
+
href: "/section/01",
|
|
1679
|
+
},
|
|
1680
|
+
],
|
|
1681
|
+
props: [
|
|
1682
|
+
{ name: "title", type: "string", description: "Required. Section title", required: true },
|
|
1683
|
+
{ name: "description", type: "string", description: "Description text on the right side" },
|
|
1684
|
+
{ name: "items", type: "SectionCardItem[]", description: "Cards to display: { id?, icon, title, description?, isActive? }" },
|
|
1685
|
+
{ name: "selectedKey", type: "string | number", description: "Currently selected card key" },
|
|
1686
|
+
{ name: "titleClass", type: "string", description: "Title CSS class" },
|
|
1687
|
+
{ name: "descriptionClass", type: "string", description: "Description CSS class" },
|
|
1688
|
+
{ name: "className", type: "string", description: "Section container CSS class" },
|
|
1689
|
+
{ name: "onSelect", type: "(id: string | number) => void", description: "Called when a card is clicked" },
|
|
1690
|
+
{ name: "onPrev", type: "() => void", description: "Called when the left arrow is clicked" },
|
|
1691
|
+
{ name: "onNext", type: "() => void", description: "Called when the right arrow is clicked" },
|
|
1692
|
+
],
|
|
1693
|
+
},
|
|
1694
|
+
{
|
|
1695
|
+
slug: "section-02",
|
|
1696
|
+
name: "Section02",
|
|
1697
|
+
category: "Sections",
|
|
1698
|
+
description: "Split section with title and image on the left, description and a 2x2 feature grid on the right. Each feature can have a 'Learn More' link.",
|
|
1699
|
+
path: "src/lib/components/ui/section/Section02.svelte",
|
|
1700
|
+
importPath: "Section02",
|
|
1701
|
+
examples: [
|
|
1702
|
+
{
|
|
1703
|
+
title: "Innovation Features Section",
|
|
1704
|
+
code: `import { Section02 } from "negodesign"
|
|
1705
|
+
|
|
1706
|
+
<Section02
|
|
1707
|
+
title="Innovation that Moves Your Business"
|
|
1708
|
+
description="We leverage the latest technology to improve the way we manage your shipments."
|
|
1709
|
+
image="/images/container.jpg"
|
|
1710
|
+
imageAlt="Shipping container"
|
|
1711
|
+
features={[
|
|
1712
|
+
{ title: "Real-Time Tracking", description: "Stay up-to-date with your shipments from pick-up to delivery.", link: "/tracking", linkLabel: "Learn More" },
|
|
1713
|
+
{ title: "Data Analytics", description: "Gain insights into your supply chain.", link: "/analytics" },
|
|
1714
|
+
{ title: "Automated Updates", description: "Receive timely notifications about your shipments.", link: "/updates" },
|
|
1715
|
+
{ title: "Secure Portal", description: "Access your account anytime with our secure online portal.", link: "/portal" },
|
|
1716
|
+
]}
|
|
1717
|
+
/>`,
|
|
1718
|
+
href: "/section/02",
|
|
1719
|
+
},
|
|
1720
|
+
],
|
|
1721
|
+
props: [
|
|
1722
|
+
{ name: "title", type: "string", description: "Required. Section title", required: true },
|
|
1723
|
+
{ name: "description", type: "string", description: "Description text above the features" },
|
|
1724
|
+
{ name: "image", type: "string", description: "Image URL displayed on the left" },
|
|
1725
|
+
{ name: "imageAlt", type: "string", description: "Image alt text" },
|
|
1726
|
+
{ name: "features", type: "SectionFeatureItem[]", description: "Feature items: { title, description?, link?, linkLabel? }" },
|
|
1727
|
+
{ name: "titleClass", type: "string", description: "Title CSS class" },
|
|
1728
|
+
{ name: "descriptionClass", type: "string", description: "Description CSS class" },
|
|
1729
|
+
{ name: "className", type: "string", description: "Section container CSS class" },
|
|
1730
|
+
{ name: "imageClass", type: "string", description: "Image CSS class" },
|
|
1731
|
+
],
|
|
1732
|
+
},
|
|
1733
|
+
{
|
|
1734
|
+
slug: "section-03",
|
|
1735
|
+
name: "Section03",
|
|
1736
|
+
category: "Sections",
|
|
1737
|
+
description: "Full-width section with a large title, description, and a 4-column feature grid with icons. Perfect for highlighting key value propositions or company strengths.",
|
|
1738
|
+
path: "src/lib/components/ui/section/Section03.svelte",
|
|
1739
|
+
importPath: "Section03",
|
|
1740
|
+
examples: [
|
|
1741
|
+
{
|
|
1742
|
+
title: "Solutions Section",
|
|
1743
|
+
code: `import { Section03 } from "negodesign"
|
|
1744
|
+
import {
|
|
1745
|
+
Globe01Icon,
|
|
1746
|
+
CustomServiceIcon,
|
|
1747
|
+
ArtificialIntelligence02Icon,
|
|
1748
|
+
Award01Icon,
|
|
1749
|
+
} from "@hugeicons/core-free-icons";
|
|
1750
|
+
|
|
1751
|
+
<Section03
|
|
1752
|
+
title="We specialize in providing reliable and efficient solutions"
|
|
1753
|
+
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."
|
|
1754
|
+
items={[
|
|
1755
|
+
{ id: "1", icon: Globe01Icon, title: "Global Reach", description: "With a network, we ensure that your business can reach new markets effortlessly." },
|
|
1756
|
+
{ 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." },
|
|
1757
|
+
{ id: "3", icon: ArtificialIntelligence02Icon, title: "Technology-Driven", description: "Our cutting-edge technology enables real-time tracking, data analytics, and seamless coordination." },
|
|
1758
|
+
{ 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." },
|
|
1759
|
+
]}
|
|
1760
|
+
/>`,
|
|
1761
|
+
href: "/section/03",
|
|
1762
|
+
},
|
|
1763
|
+
],
|
|
1764
|
+
props: [
|
|
1765
|
+
{ name: "title", type: "string", description: "Required. Section title", required: true },
|
|
1766
|
+
{ name: "description", type: "string", description: "Description text on the right" },
|
|
1767
|
+
{ name: "items", type: "SectionCardItem[]", description: "Feature items: { id?, icon, title, description? }" },
|
|
1768
|
+
{ name: "titleClass", type: "string", description: "Title CSS class" },
|
|
1769
|
+
{ name: "descriptionClass", type: "string", description: "Description CSS class" },
|
|
1770
|
+
{ name: "className", type: "string", description: "Section container CSS class" },
|
|
1771
|
+
],
|
|
1772
|
+
},
|
|
891
1773
|
];
|
|
892
1774
|
export function getComponent(slug) {
|
|
893
1775
|
return components.find((c) => c.slug === slug);
|