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
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import { t } from "../../../i18n";
|
|
3
|
-
import type { HTMLAnchorAttributes } from "svelte/elements";
|
|
4
|
-
|
|
5
|
-
type Props = HTMLAnchorAttributes;
|
|
6
|
-
|
|
7
|
-
let { ...restProps }: Props = $props();
|
|
8
|
-
</script>
|
|
9
|
-
|
|
10
|
-
<a {...restProps} class="text-xs text-slate-500 hover:text-slate-800 z-10">
|
|
11
|
-
{$t("link.privacy-policy.label")}
|
|
12
|
-
</a>
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { t } from "../../../i18n";
|
|
3
|
+
import type { HTMLAnchorAttributes } from "svelte/elements";
|
|
4
|
+
|
|
5
|
+
type Props = HTMLAnchorAttributes;
|
|
6
|
+
|
|
7
|
+
let { ...restProps }: Props = $props();
|
|
8
|
+
</script>
|
|
9
|
+
|
|
10
|
+
<a {...restProps} class="text-xs text-slate-500 hover:text-slate-800 z-10">
|
|
11
|
+
{$t("link.privacy-policy.label")}
|
|
12
|
+
</a>
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import { t } from "../../../i18n";
|
|
3
|
-
import type { HTMLAnchorAttributes } from "svelte/elements";
|
|
4
|
-
|
|
5
|
-
type Props = HTMLAnchorAttributes;
|
|
6
|
-
|
|
7
|
-
let { ...restProps }: Props = $props();
|
|
8
|
-
</script>
|
|
9
|
-
|
|
10
|
-
<a {...restProps} class="text-xs text-slate-500 hover:text-slate-800 z-10">
|
|
11
|
-
{$t("link.terms-of-service.label")}
|
|
12
|
-
</a>
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { t } from "../../../i18n";
|
|
3
|
+
import type { HTMLAnchorAttributes } from "svelte/elements";
|
|
4
|
+
|
|
5
|
+
type Props = HTMLAnchorAttributes;
|
|
6
|
+
|
|
7
|
+
let { ...restProps }: Props = $props();
|
|
8
|
+
</script>
|
|
9
|
+
|
|
10
|
+
<a {...restProps} class="text-xs text-slate-500 hover:text-slate-800 z-10">
|
|
11
|
+
{$t("link.terms-of-service.label")}
|
|
12
|
+
</a>
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { ModelBadge } from "../core/types";
|
|
2
|
+
export type { ModelBadge } from "../core/types";
|
|
3
|
+
/**
|
|
4
|
+
* Props do componente ModalBadgeSelection — modal de seleção com badges/pills.
|
|
5
|
+
* Segunda variação do sistema de modais do NegoDesign.
|
|
6
|
+
* @property title - Título principal do modal.
|
|
7
|
+
* @property subtitle - Subtítulo/descrição abaixo do título.
|
|
8
|
+
* @property badges - Lista de badges/pills seleccionáveis.
|
|
9
|
+
* @property selectedBadge - Badge actualmente seleccionado.
|
|
10
|
+
* @property multiple - Permite seleção múltipla de badges.
|
|
11
|
+
* @property totalSteps - Número total de passos (para a progress bar).
|
|
12
|
+
* @property currentStep - Passo actual.
|
|
13
|
+
* @property isOpen - Controla a visibilidade do modal.
|
|
14
|
+
* @property onSelect - Chamado ao seleccionar um badge.
|
|
15
|
+
* @property onBack - Chamado ao clicar no botão "Back".
|
|
16
|
+
* @property onContinue - Chamado ao clicar no botão "Continue".
|
|
17
|
+
* @property onSkip - Chamado ao clicar no "Skip This Step".
|
|
18
|
+
* @property class - Classe CSS extra no container do modal.
|
|
19
|
+
*/
|
|
20
|
+
export type ModalBadgeSelectionProps = {
|
|
21
|
+
title: string;
|
|
22
|
+
subtitle?: string;
|
|
23
|
+
badges: ModelBadge[];
|
|
24
|
+
selectedBadge?: ModelBadge | null;
|
|
25
|
+
selectedBadges?: ModelBadge[];
|
|
26
|
+
multiple?: boolean;
|
|
27
|
+
totalSteps?: number;
|
|
28
|
+
currentStep?: number;
|
|
29
|
+
isOpen?: boolean;
|
|
30
|
+
onSelect?: (badge: ModelBadge) => void;
|
|
31
|
+
onBack?: () => void;
|
|
32
|
+
onContinue?: () => void;
|
|
33
|
+
onSkip?: () => void;
|
|
34
|
+
class?: string;
|
|
35
|
+
};
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { cn } from "../../../../../utils";
|
|
3
|
+
import { HugeiconsIcon } from "@hugeicons/svelte";
|
|
4
|
+
import ModalCore from "../../core/ui/ModalCore.svelte";
|
|
5
|
+
import type { ModalBadgeSelectionProps, ModelBadge } from "../types";
|
|
6
|
+
|
|
7
|
+
let {
|
|
8
|
+
title,
|
|
9
|
+
subtitle,
|
|
10
|
+
badges = [],
|
|
11
|
+
selectedBadge = $bindable(null),
|
|
12
|
+
selectedBadges = $bindable([]),
|
|
13
|
+
multiple = false,
|
|
14
|
+
totalSteps = 1,
|
|
15
|
+
currentStep = 1,
|
|
16
|
+
isOpen = $bindable(false),
|
|
17
|
+
onSelect,
|
|
18
|
+
onBack,
|
|
19
|
+
onContinue,
|
|
20
|
+
onSkip,
|
|
21
|
+
class: className,
|
|
22
|
+
}: ModalBadgeSelectionProps = $props();
|
|
23
|
+
|
|
24
|
+
function handleSelect(badge: ModelBadge) {
|
|
25
|
+
if (multiple) {
|
|
26
|
+
const exists = selectedBadges.some((b) => b.value === badge.value);
|
|
27
|
+
if (exists) {
|
|
28
|
+
selectedBadges = selectedBadges.filter((b) => b.value !== badge.value);
|
|
29
|
+
} else {
|
|
30
|
+
selectedBadges = [...selectedBadges, badge];
|
|
31
|
+
}
|
|
32
|
+
onSelect?.(badge);
|
|
33
|
+
} else {
|
|
34
|
+
selectedBadge = badge;
|
|
35
|
+
onSelect?.(badge);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
function isSelected(badge: ModelBadge): boolean {
|
|
40
|
+
if (multiple) {
|
|
41
|
+
return selectedBadges.some((b) => b.value === badge.value);
|
|
42
|
+
}
|
|
43
|
+
return selectedBadge?.value === badge.value;
|
|
44
|
+
}
|
|
45
|
+
</script>
|
|
46
|
+
|
|
47
|
+
<ModalCore
|
|
48
|
+
bind:isOpen
|
|
49
|
+
{title}
|
|
50
|
+
{subtitle}
|
|
51
|
+
{totalSteps}
|
|
52
|
+
{currentStep}
|
|
53
|
+
showProgress={true}
|
|
54
|
+
showBack={false}
|
|
55
|
+
showSkip={true}
|
|
56
|
+
{onBack}
|
|
57
|
+
{onContinue}
|
|
58
|
+
{onSkip}
|
|
59
|
+
class={className}
|
|
60
|
+
>
|
|
61
|
+
{#snippet content()}
|
|
62
|
+
<div class="flex flex-wrap gap-3">
|
|
63
|
+
{#each badges as badge (badge.value)}
|
|
64
|
+
{@const selected = isSelected(badge)}
|
|
65
|
+
<button
|
|
66
|
+
type="button"
|
|
67
|
+
class={cn(
|
|
68
|
+
"inline-flex items-center gap-2 rounded-full border px-5 py-2.5 text-sm font-medium transition-all duration-200",
|
|
69
|
+
selected
|
|
70
|
+
? "border-foreground bg-foreground text-background shadow-md"
|
|
71
|
+
: "border-border bg-card text-foreground hover:border-foreground/50 hover:shadow-sm"
|
|
72
|
+
)}
|
|
73
|
+
onclick={() => handleSelect(badge)}
|
|
74
|
+
>
|
|
75
|
+
{#if badge.icon}
|
|
76
|
+
{#if typeof badge.icon === "string"}
|
|
77
|
+
<i class="{badge.icon} text-sm"></i>
|
|
78
|
+
{:else}
|
|
79
|
+
<HugeiconsIcon icon={badge.icon} class="size-4" />
|
|
80
|
+
{/if}
|
|
81
|
+
{/if}
|
|
82
|
+
{badge.label}
|
|
83
|
+
</button>
|
|
84
|
+
{/each}
|
|
85
|
+
</div>
|
|
86
|
+
{/snippet}
|
|
87
|
+
</ModalCore>
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ModalBadgeSelectionProps } from "../types";
|
|
2
|
+
declare const ModalBadgeSelection: import("svelte").Component<ModalBadgeSelectionProps, {}, "isOpen" | "selectedBadge" | "selectedBadges">;
|
|
3
|
+
type ModalBadgeSelection = ReturnType<typeof ModalBadgeSelection>;
|
|
4
|
+
export default ModalBadgeSelection;
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import type { Snippet } from "svelte";
|
|
2
|
+
import type { IconSvgElement } from "@hugeicons/svelte";
|
|
3
|
+
/**
|
|
4
|
+
* Props do componente ModalCore — contentor base reutilizável para todos os modais.
|
|
5
|
+
* Fornece overlay, container com gradiente, cabeçalho, rodapé com progress bar e navegação.
|
|
6
|
+
* @property isOpen - Controla a visibilidade do modal (bindable).
|
|
7
|
+
* @property title - Título principal do modal.
|
|
8
|
+
* @property subtitle - Subtítulo/descrição abaixo do título.
|
|
9
|
+
* @property totalSteps - Número total de passos (para a progress bar).
|
|
10
|
+
* @property currentStep - Passo actual (para a progress bar).
|
|
11
|
+
* @property showProgress - Exibe a progress bar.
|
|
12
|
+
* @property showBack - Exibe o botão "Back".
|
|
13
|
+
* @property showSkip - Exibe o botão/link "Skip".
|
|
14
|
+
* @property skipText - Texto do botão/link de skip.
|
|
15
|
+
* @property continueText - Texto do botão "Continue".
|
|
16
|
+
* @property backText - Texto do botão "Back".
|
|
17
|
+
* @property onBack - Chamado ao clicar no botão "Back".
|
|
18
|
+
* @property onContinue - Chamado ao clicar no botão "Continue".
|
|
19
|
+
* @property onSkip - Chamado ao clicar no skip.
|
|
20
|
+
* @property onClose - Chamado ao clicar no overlay (fechar).
|
|
21
|
+
* @property content - Snippet com o conteúdo principal do modal.
|
|
22
|
+
* @property footer - Snippet personalizado para o rodapé (substitui o padrão).
|
|
23
|
+
* @property class - Classe CSS extra no container do modal.
|
|
24
|
+
*/
|
|
25
|
+
export type ModalCoreProps = {
|
|
26
|
+
isOpen: boolean;
|
|
27
|
+
title: string;
|
|
28
|
+
subtitle?: string;
|
|
29
|
+
totalSteps?: number;
|
|
30
|
+
currentStep?: number;
|
|
31
|
+
showProgress?: boolean;
|
|
32
|
+
showBack?: boolean;
|
|
33
|
+
showSkip?: boolean;
|
|
34
|
+
skipText?: string;
|
|
35
|
+
continueText?: string;
|
|
36
|
+
backText?: string;
|
|
37
|
+
onBack?: () => void;
|
|
38
|
+
onContinue?: () => void;
|
|
39
|
+
onSkip?: () => void;
|
|
40
|
+
onClose?: () => void;
|
|
41
|
+
content?: Snippet;
|
|
42
|
+
footer?: Snippet;
|
|
43
|
+
class?: string;
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* Modelo de dados para um badge/pill seleccionável dentro do modal.
|
|
47
|
+
* Cada badge representa uma opção simples (ex: "Marketing", "Engineering").
|
|
48
|
+
* @property label - Texto visível do badge.
|
|
49
|
+
* @property value - Valor identificador do badge.
|
|
50
|
+
* @property icon - Ícone opcional exibido antes do label.
|
|
51
|
+
*/
|
|
52
|
+
export type ModelBadge = {
|
|
53
|
+
label: string;
|
|
54
|
+
value: string;
|
|
55
|
+
icon?: string | IconSvgElement;
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* Modelo de dados para um card seleccionável dentro do grid do modal.
|
|
59
|
+
* Cada card representa uma opção com ícone, título e descrição (ex: "Estudante", "Empresa").
|
|
60
|
+
* @property title - Título visível do card.
|
|
61
|
+
* @property description - Descrição curta exibida abaixo do título.
|
|
62
|
+
* @property icon - Ícone exibido no topo do card (string CSS ou HugeIcons).
|
|
63
|
+
*/
|
|
64
|
+
export type ModelGridCard = {
|
|
65
|
+
title: string;
|
|
66
|
+
description?: string;
|
|
67
|
+
icon: string | IconSvgElement;
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* Modelo de dados para uma rede social no modal de partilha.
|
|
71
|
+
* Cada item representa uma plataforma de redes sociais para partilhar conteúdo.
|
|
72
|
+
* @property name - Nome da rede social (ex: "Facebook", "Twitter").
|
|
73
|
+
* @property icon - Ícone da rede social (string CSS ou HugeIcons).
|
|
74
|
+
* @property color - Cor da rede social (hex, rgb, etc.).
|
|
75
|
+
* @property url - URL de partilha da rede social.
|
|
76
|
+
*/
|
|
77
|
+
export type ModelSocialShare = {
|
|
78
|
+
name: string;
|
|
79
|
+
icon: string | IconSvgElement;
|
|
80
|
+
color?: string;
|
|
81
|
+
url?: string;
|
|
82
|
+
};
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { cn } from "../../../../../utils";
|
|
3
|
+
import { ArrowLeft01Icon, ArrowRight01Icon } from "@hugeicons/core-free-icons";
|
|
4
|
+
import { HugeiconsIcon } from "@hugeicons/svelte";
|
|
5
|
+
import type { ModalCoreProps } from "../types";
|
|
6
|
+
|
|
7
|
+
let {
|
|
8
|
+
isOpen = $bindable(false),
|
|
9
|
+
title,
|
|
10
|
+
subtitle,
|
|
11
|
+
totalSteps = 1,
|
|
12
|
+
currentStep = 1,
|
|
13
|
+
showProgress = true,
|
|
14
|
+
showBack = true,
|
|
15
|
+
showSkip = false,
|
|
16
|
+
skipText = "Skip This Step",
|
|
17
|
+
continueText = "Continue",
|
|
18
|
+
backText = "Back",
|
|
19
|
+
onBack,
|
|
20
|
+
onContinue,
|
|
21
|
+
onSkip,
|
|
22
|
+
onClose,
|
|
23
|
+
content,
|
|
24
|
+
footer,
|
|
25
|
+
class: className,
|
|
26
|
+
}: ModalCoreProps = $props();
|
|
27
|
+
|
|
28
|
+
function handleClose() {
|
|
29
|
+
isOpen = false;
|
|
30
|
+
onClose?.();
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
const progressPercent = $derived(
|
|
34
|
+
totalSteps > 0 ? (currentStep / totalSteps) * 100 : 0
|
|
35
|
+
);
|
|
36
|
+
</script>
|
|
37
|
+
|
|
38
|
+
{#if isOpen}
|
|
39
|
+
<div class="fixed inset-0 z-50 flex items-center justify-center">
|
|
40
|
+
<!-- svelte-ignore a11y_no_static_element_interactions -->
|
|
41
|
+
<div
|
|
42
|
+
class="absolute inset-0 bg-black/50 backdrop-blur-sm"
|
|
43
|
+
onclick={handleClose}
|
|
44
|
+
onkeydown={(e) => {
|
|
45
|
+
if (e.key === "Escape") handleClose();
|
|
46
|
+
}}
|
|
47
|
+
></div>
|
|
48
|
+
|
|
49
|
+
<div
|
|
50
|
+
class={cn(
|
|
51
|
+
"relative z-10 mx-4 flex max-h-[90vh] w-full max-w-3xl flex-col overflow-hidden rounded-3xl border border-border bg-card shadow-lg",
|
|
52
|
+
"before:absolute before:-inset-px before:z-[-1] before:rounded-3xl before:bg-linear-to-br before:from-primary/40 before:via-primary/10 before:to-transparent",
|
|
53
|
+
"animate-in fade-in zoom-in-95 duration-200",
|
|
54
|
+
className
|
|
55
|
+
)}
|
|
56
|
+
>
|
|
57
|
+
<!-- Header -->
|
|
58
|
+
<div class="px-8 pt-8">
|
|
59
|
+
<h2 class="text-2xl font-extrabold tracking-tight md:text-3xl">
|
|
60
|
+
{title}
|
|
61
|
+
</h2>
|
|
62
|
+
{#if subtitle}
|
|
63
|
+
<p class="mt-2 text-sm text-muted-foreground">{subtitle}</p>
|
|
64
|
+
{/if}
|
|
65
|
+
</div>
|
|
66
|
+
|
|
67
|
+
<!-- Content -->
|
|
68
|
+
<div class="flex-1 overflow-y-auto px-8 py-6">
|
|
69
|
+
{#if content}
|
|
70
|
+
{@render content()}
|
|
71
|
+
{/if}
|
|
72
|
+
</div>
|
|
73
|
+
|
|
74
|
+
<!-- Footer -->
|
|
75
|
+
{#if footer}
|
|
76
|
+
<div class="border-t border-border px-8 py-5">
|
|
77
|
+
{@render footer()}
|
|
78
|
+
</div>
|
|
79
|
+
{:else}
|
|
80
|
+
<div class="border-t border-border px-8 py-5">
|
|
81
|
+
{#if showProgress}
|
|
82
|
+
<div class="mb-5 h-1.5 w-full overflow-hidden rounded-full bg-muted">
|
|
83
|
+
<div
|
|
84
|
+
class="h-full rounded-full bg-linear-to-r from-primary to-primary/70 transition-all duration-300"
|
|
85
|
+
style="width: {progressPercent}%"
|
|
86
|
+
></div>
|
|
87
|
+
</div>
|
|
88
|
+
{/if}
|
|
89
|
+
|
|
90
|
+
<div class="flex items-center justify-between">
|
|
91
|
+
<div class="flex items-center gap-4">
|
|
92
|
+
{#if showSkip}
|
|
93
|
+
<button
|
|
94
|
+
type="button"
|
|
95
|
+
class="text-sm font-medium text-muted-foreground transition hover:text-foreground"
|
|
96
|
+
onclick={onSkip}
|
|
97
|
+
>
|
|
98
|
+
{skipText}
|
|
99
|
+
</button>
|
|
100
|
+
{/if}
|
|
101
|
+
</div>
|
|
102
|
+
|
|
103
|
+
<div class="flex items-center gap-3">
|
|
104
|
+
{#if showBack && currentStep > 1}
|
|
105
|
+
<button
|
|
106
|
+
type="button"
|
|
107
|
+
class="inline-flex items-center gap-2 rounded-full border border-border px-5 py-2.5 text-sm font-semibold transition hover:bg-muted"
|
|
108
|
+
onclick={onBack}
|
|
109
|
+
>
|
|
110
|
+
<HugeiconsIcon icon={ArrowLeft01Icon} class="size-4" />
|
|
111
|
+
{backText}
|
|
112
|
+
</button>
|
|
113
|
+
{/if}
|
|
114
|
+
|
|
115
|
+
<button
|
|
116
|
+
type="button"
|
|
117
|
+
class="inline-flex items-center gap-2 rounded-full bg-primary px-6 py-2.5 text-sm font-semibold text-primary-foreground transition hover:bg-primary/90"
|
|
118
|
+
onclick={onContinue}
|
|
119
|
+
>
|
|
120
|
+
{continueText}
|
|
121
|
+
<HugeiconsIcon icon={ArrowRight01Icon} class="size-4" />
|
|
122
|
+
</button>
|
|
123
|
+
</div>
|
|
124
|
+
</div>
|
|
125
|
+
</div>
|
|
126
|
+
{/if}
|
|
127
|
+
</div>
|
|
128
|
+
</div>
|
|
129
|
+
{/if}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Props do componente ModalFeedback — modal de feedback com editor de texto rico.
|
|
3
|
+
* Quinta variação do sistema de modais do NegoDesign.
|
|
4
|
+
* @property title - Título principal do modal (ex: "Your Feedback").
|
|
5
|
+
* @property icon - Emoji/ícone exibido ao lado do título.
|
|
6
|
+
* @property placeholder - Texto placeholder da área de texto.
|
|
7
|
+
* @property buttonText - Texto do botão de submissão.
|
|
8
|
+
* @property buttonLoadingText - Texto exibido durante o carregamento.
|
|
9
|
+
* @property cancelText - Texto do botão cancelar.
|
|
10
|
+
* @property addImageText - Texto do botão de adicionar imagem.
|
|
11
|
+
* @property isLoading - Estado de carregamento do botão.
|
|
12
|
+
* @property isOpen - Controla a visibilidade do modal.
|
|
13
|
+
* @property onSubmit - Chamado ao submeter o feedback (conteúdo HTML + imagens).
|
|
14
|
+
* @property onAddImage - Chamado ao clicar no botão de adicionar imagem.
|
|
15
|
+
* @property onClose - Chamado ao fechar o modal.
|
|
16
|
+
* @property class - Classe CSS extra no container do modal.
|
|
17
|
+
*/
|
|
18
|
+
export type ModalFeedbackProps = {
|
|
19
|
+
title?: string;
|
|
20
|
+
icon?: string;
|
|
21
|
+
placeholder?: string;
|
|
22
|
+
buttonText?: string;
|
|
23
|
+
buttonLoadingText?: string;
|
|
24
|
+
cancelText?: string;
|
|
25
|
+
addImageText?: string;
|
|
26
|
+
isLoading?: boolean;
|
|
27
|
+
isOpen?: boolean;
|
|
28
|
+
onSubmit?: (content: string, images: File[]) => void;
|
|
29
|
+
onAddImage?: () => void;
|
|
30
|
+
onClose?: () => void;
|
|
31
|
+
class?: string;
|
|
32
|
+
};
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { cn } from "../../../../../utils";
|
|
3
|
+
import ModalCore from "../../core/ui/ModalCore.svelte";
|
|
4
|
+
import type { ModalFeedbackProps } from "../types";
|
|
5
|
+
|
|
6
|
+
let {
|
|
7
|
+
title = "Your Feedback",
|
|
8
|
+
icon = "🔥",
|
|
9
|
+
placeholder = "Write your feedback here...",
|
|
10
|
+
buttonText = "Send",
|
|
11
|
+
buttonLoadingText = "Sending...",
|
|
12
|
+
cancelText = "Cancel",
|
|
13
|
+
addImageText = "Add an Image",
|
|
14
|
+
isLoading = false,
|
|
15
|
+
isOpen = $bindable(false),
|
|
16
|
+
onSubmit,
|
|
17
|
+
onAddImage,
|
|
18
|
+
onClose,
|
|
19
|
+
class: className,
|
|
20
|
+
}: ModalFeedbackProps = $props();
|
|
21
|
+
|
|
22
|
+
let editorRef = $state<HTMLDivElement | null>(null);
|
|
23
|
+
let images = $state<File[]>([]);
|
|
24
|
+
|
|
25
|
+
function execCmd(command: string, value?: string) {
|
|
26
|
+
document.execCommand(command, false, value);
|
|
27
|
+
editorRef?.focus();
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
function handleAddImage() {
|
|
31
|
+
onAddImage?.();
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function handleSubmit() {
|
|
35
|
+
const content = editorRef?.innerHTML ?? "";
|
|
36
|
+
if (!content.trim() || isLoading) return;
|
|
37
|
+
onSubmit?.(content, images);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
function handleCancel() {
|
|
41
|
+
isOpen = false;
|
|
42
|
+
onClose?.();
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
const toolbarButtons = [
|
|
46
|
+
{ command: "bold", label: "B", class: "font-bold" },
|
|
47
|
+
{ command: "italic", label: "I", class: "italic" },
|
|
48
|
+
{ command: "underline", label: "U", class: "underline" },
|
|
49
|
+
{ command: "insertUnorderedList", label: "•", class: "" },
|
|
50
|
+
{ command: "insertOrderedList", label: "1.", class: "" },
|
|
51
|
+
{ command: "undo", label: "↶", class: "" },
|
|
52
|
+
{ command: "redo", label: "↷", class: "" },
|
|
53
|
+
{ command: "justifyLeft", label: "⫷", class: "" },
|
|
54
|
+
{ command: "justifyCenter", label: "⫿", class: "" },
|
|
55
|
+
{ command: "justifyRight", label: "⫸", class: "" },
|
|
56
|
+
] as const;
|
|
57
|
+
</script>
|
|
58
|
+
|
|
59
|
+
<ModalCore
|
|
60
|
+
bind:isOpen
|
|
61
|
+
{title}
|
|
62
|
+
showProgress={false}
|
|
63
|
+
showBack={false}
|
|
64
|
+
{onClose}
|
|
65
|
+
class={cn("max-w-lg", className)}
|
|
66
|
+
>
|
|
67
|
+
{#snippet content()}
|
|
68
|
+
<!-- Toolbar -->
|
|
69
|
+
<div class="mb-3 flex flex-wrap items-center gap-1 rounded-t-lg border border-border bg-muted/50 px-3 py-2">
|
|
70
|
+
{#each toolbarButtons as btn (btn.command)}
|
|
71
|
+
<button
|
|
72
|
+
type="button"
|
|
73
|
+
class={cn(
|
|
74
|
+
"flex size-8 items-center justify-center rounded text-sm text-muted-foreground transition hover:bg-border hover:text-foreground",
|
|
75
|
+
btn.class
|
|
76
|
+
)}
|
|
77
|
+
onclick={() => execCmd(btn.command)}
|
|
78
|
+
title={btn.command}
|
|
79
|
+
>
|
|
80
|
+
{btn.label}
|
|
81
|
+
</button>
|
|
82
|
+
{/each}
|
|
83
|
+
</div>
|
|
84
|
+
|
|
85
|
+
<!-- Editor -->
|
|
86
|
+
<!-- svelte-ignore a11y_no_static_element_interactions -->
|
|
87
|
+
<div
|
|
88
|
+
bind:this={editorRef}
|
|
89
|
+
contenteditable="true"
|
|
90
|
+
class="min-h-[160px] rounded-b-lg border border-t-0 border-border bg-card px-4 py-3 text-sm text-foreground outline-none focus:ring-2 focus:ring-primary/20"
|
|
91
|
+
data-placeholder={placeholder}
|
|
92
|
+
onkeydown={(e) => {
|
|
93
|
+
if (e.key === "Enter" && e.ctrlKey) handleSubmit();
|
|
94
|
+
}}
|
|
95
|
+
></div>
|
|
96
|
+
|
|
97
|
+
<!-- Add Image Button -->
|
|
98
|
+
<button
|
|
99
|
+
type="button"
|
|
100
|
+
class="mt-4 flex w-full items-center justify-center gap-2 rounded-lg border-2 border-dashed border-orange-300 bg-orange-50/50 py-3 text-sm font-medium text-orange-600 transition hover:bg-orange-50 dark:bg-orange-950/20 dark:text-orange-400 dark:hover:bg-orange-950/30"
|
|
101
|
+
onclick={handleAddImage}
|
|
102
|
+
>
|
|
103
|
+
<span class="text-lg">🖼️</span>
|
|
104
|
+
{addImageText}
|
|
105
|
+
</button>
|
|
106
|
+
{/snippet}
|
|
107
|
+
|
|
108
|
+
{#snippet footer()}
|
|
109
|
+
<div class="flex items-center justify-end gap-3">
|
|
110
|
+
<button
|
|
111
|
+
type="button"
|
|
112
|
+
class="rounded-lg border border-border px-5 py-2.5 text-sm font-semibold transition hover:bg-muted"
|
|
113
|
+
onclick={handleCancel}
|
|
114
|
+
>
|
|
115
|
+
{cancelText}
|
|
116
|
+
</button>
|
|
117
|
+
<button
|
|
118
|
+
type="button"
|
|
119
|
+
disabled={isLoading}
|
|
120
|
+
class="rounded-lg bg-orange-500 px-6 py-2.5 text-sm font-semibold text-white transition hover:bg-orange-600 disabled:cursor-not-allowed disabled:opacity-50"
|
|
121
|
+
onclick={handleSubmit}
|
|
122
|
+
>
|
|
123
|
+
{isLoading ? buttonLoadingText : buttonText}
|
|
124
|
+
</button>
|
|
125
|
+
</div>
|
|
126
|
+
{/snippet}
|
|
127
|
+
</ModalCore>
|
|
128
|
+
|
|
129
|
+
<style>
|
|
130
|
+
[contenteditable]:empty:before {
|
|
131
|
+
content: attr(data-placeholder);
|
|
132
|
+
color: oklch(0.56 0.021 213.5);
|
|
133
|
+
pointer-events: none;
|
|
134
|
+
}
|
|
135
|
+
</style>
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { FormInputConfig } from "../../form/types";
|
|
2
|
+
export type { FormInputConfig, FormOption, FormProps } from "../../form/types";
|
|
3
|
+
/**
|
|
4
|
+
* Props do componente ModalForm — formulário dentro de um modal.
|
|
5
|
+
* Reutiliza o componente Form com a mesma API de inputs, adicionando
|
|
6
|
+
* overlay, título, subtítulo e botões de navegação do modal.
|
|
7
|
+
*
|
|
8
|
+
* @property title - Título principal do modal.
|
|
9
|
+
* @property subtitle - Subtítulo/descrição abaixo do título.
|
|
10
|
+
* @property inputs - Array de configurações dos inputs do formulário.
|
|
11
|
+
* @property isOpen - Controla a visibilidade do modal (bindable).
|
|
12
|
+
* @property submitText - Texto do botão de submissão.
|
|
13
|
+
* @property submitLoadingText - Texto durante carregamento.
|
|
14
|
+
* @property cancelText - Texto do botão cancelar.
|
|
15
|
+
* @property isLoading - Estado de carregamento.
|
|
16
|
+
* @property showCancel - Exibe o botão cancelar.
|
|
17
|
+
* @property columns - Número de colunas da grid (padrão: 2).
|
|
18
|
+
* @property onSubmit - Callback ao submeter o formulário.
|
|
19
|
+
* @property onCancel - Chamado ao clicar no botão cancelar ou fechar.
|
|
20
|
+
* @property onClose - Chamado ao fechar o modal.
|
|
21
|
+
* @property class - Classe CSS extra no container do modal.
|
|
22
|
+
*/
|
|
23
|
+
export type ModalFormProps = {
|
|
24
|
+
title: string;
|
|
25
|
+
subtitle?: string;
|
|
26
|
+
inputs: FormInputConfig[];
|
|
27
|
+
isOpen?: boolean;
|
|
28
|
+
submitText?: string;
|
|
29
|
+
submitLoadingText?: string;
|
|
30
|
+
cancelText?: string;
|
|
31
|
+
isLoading?: boolean;
|
|
32
|
+
showCancel?: boolean;
|
|
33
|
+
columns?: 1 | 2;
|
|
34
|
+
onSubmit?: (data: Record<string, string | string[] | boolean>) => void;
|
|
35
|
+
onCancel?: () => void;
|
|
36
|
+
onClose?: () => void;
|
|
37
|
+
class?: string;
|
|
38
|
+
};
|