@ozdao/martyrs 0.2.578 → 0.2.580
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/dist/builder.js +9 -1
- package/dist/loader.js +5 -0
- package/dist/{main-EZaj64lH.js → main-vq1_XpmQ.js} +430 -425
- package/dist/martyrs/dist/{main-EZaj64lH.js → main-vq1_XpmQ.js} +12 -12
- package/dist/martyrs/dist/main-vq1_XpmQ.js.map +1 -0
- package/dist/martyrs/dist/{web-ClbcbWYJ.js → web-BNJDRie_.js} +2 -2
- package/dist/martyrs/dist/{web-ClbcbWYJ.js.map → web-BNJDRie_.js.map} +1 -1
- package/dist/martyrs/src/components/Block/Block.vue.js +1 -1
- package/dist/martyrs/src/components/Chips/Chips.vue.js +2 -2
- package/dist/martyrs/src/components/Dropdown/Dropdown.vue.js +21 -11
- package/dist/martyrs/src/components/Dropdown/Dropdown.vue.js.map +1 -1
- package/dist/martyrs/src/components/EditImages/{EditImages.vue.js → EditImages.vue2.js} +2 -2
- package/dist/martyrs/src/components/EditImages/EditImages.vue2.js.map +1 -0
- package/dist/martyrs/src/components/Feed/Feed.vue.js +1 -1
- package/dist/martyrs/src/components/Menu/MenuItem.vue.js +3 -3
- package/dist/martyrs/src/components/Menu/MenuItem.vue.js.map +1 -1
- package/dist/martyrs/src/components/Tab/{Tab.vue.js → Tab.vue2.js} +2 -2
- package/dist/martyrs/src/components/Tab/Tab.vue2.js.map +1 -0
- package/dist/martyrs/src/components/Tooltip/{Tooltip.vue2.js → Tooltip.vue.js} +2 -2
- package/dist/martyrs/src/components/Tooltip/Tooltip.vue.js.map +1 -0
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileBlogposts.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +1 -1
- package/dist/martyrs/src/modules/core/views/components/blocks/CardHeader.vue.js +1 -1
- package/dist/martyrs/src/modules/core/views/components/partials/Navigation.vue.js +34 -38
- package/dist/martyrs/src/modules/core/views/components/partials/Navigation.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/partials/Sidebar.vue.js +19 -10
- package/dist/martyrs/src/modules/core/views/components/partials/Sidebar.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/sections/{Filters.vue.js → Filters.vue2.js} +2 -2
- package/dist/martyrs/src/modules/core/views/components/sections/Filters.vue2.js.map +1 -0
- package/dist/martyrs/src/modules/core/views/components/sections/SectionPageTitle.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.js +1 -1
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/actions/IconDuplicate.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/actions/IconOpenLink.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/actions/IconShopcartAdd.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/actions/IconShow.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/entities/IconAddress.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/entities/IconBell.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/entities/IconCalendar.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/entities/IconCatalog.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/entities/IconCommunity.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/entities/IconDate.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/entities/IconDiscount.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/entities/IconEarn.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/entities/IconEmail.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/entities/IconEvents.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/entities/IconFeatured.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/entities/IconFile.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/entities/IconFollowing.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/entities/IconGallery.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/entities/IconGroups.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/entities/IconHome.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/entities/IconInfo.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/entities/IconLeftovers.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/entities/IconList.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/entities/IconLock.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/entities/IconMusic.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/entities/IconOrders.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/entities/IconPayments.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/entities/IconPhone.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/entities/IconPopular.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/entities/IconPrice.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/entities/IconProducts.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/entities/IconProfile.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/entities/IconRecent.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/entities/IconSettings.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/entities/IconShopcart.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconAdd.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconArrow.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconAttach.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconCheck.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconCheckmark.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconCross.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconDelete.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconDoubleCheck.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconEllipsis.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconFilter.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconHeart.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconInfo.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconLike.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconMinus.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconMute.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconPause.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconPlay.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconPlus.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconRefresh.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconSearch.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconShuffle.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconSort.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconUnMute.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconUpload.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/navigation/IconVolume.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/socials/dribbble.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/socials/facebook.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/socials/instagram.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/socials/line.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/socials/linkedin.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/socials/reddit.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/socials/telegram.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/socials/twitter.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/socials/vk.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/socials/whatsapp.vue.js +1 -1
- package/dist/martyrs/src/modules/icons/socials/youtube.vue.js +1 -1
- package/dist/martyrs/src/modules/marketplace/views/components/pages/Marketplace.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/player/FullscreenPlayer.vue.js +1 -1
- package/dist/martyrs/src/modules/notifications/components/pages/Notifications.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +1 -1
- package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.js +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +1 -1
- package/dist/martyrs.css +1 -1
- package/dist/martyrs.es.js +1 -1
- package/dist/style.css +36 -27
- package/dist/{web-ClbcbWYJ.js → web-BNJDRie_.js} +1 -1
- package/package.json +1 -1
- package/src/components/Chips/Chips.vue +2 -2
- package/src/components/Dropdown/Dropdown.vue +42 -14
- package/src/components/Menu/MenuItem.vue +3 -3
- package/src/jit/loader.js +5 -0
- package/src/jit/plugin.js +10 -1
- package/src/modules/core/views/components/partials/Navigation.vue +9 -12
- package/src/modules/core/views/components/partials/Sidebar.vue +17 -11
- package/src/modules/icons/actions/IconDuplicate.vue +1 -1
- package/src/modules/icons/actions/IconOpenLink.vue +1 -1
- package/src/modules/icons/actions/IconShopcartAdd.vue +1 -1
- package/src/modules/icons/actions/IconShow.vue +1 -1
- package/src/modules/icons/entities/IconAddress.vue +1 -1
- package/src/modules/icons/entities/IconBell.vue +1 -1
- package/src/modules/icons/entities/IconCalendar.vue +1 -1
- package/src/modules/icons/entities/IconCash.vue +1 -1
- package/src/modules/icons/entities/IconCatalog.vue +1 -1
- package/src/modules/icons/entities/IconCommunity.vue +1 -1
- package/src/modules/icons/entities/IconDate.vue +1 -1
- package/src/modules/icons/entities/IconDiscount.vue +1 -1
- package/src/modules/icons/entities/IconEarn.vue +1 -1
- package/src/modules/icons/entities/IconEmail.vue +1 -1
- package/src/modules/icons/entities/IconEvents.vue +1 -1
- package/src/modules/icons/entities/IconFeatured.vue +1 -1
- package/src/modules/icons/entities/IconFile.vue +1 -1
- package/src/modules/icons/entities/IconFollowing.vue +1 -1
- package/src/modules/icons/entities/IconGallery.vue +1 -1
- package/src/modules/icons/entities/IconGroups.vue +1 -1
- package/src/modules/icons/entities/IconHome.vue +1 -1
- package/src/modules/icons/entities/IconInfo.vue +1 -1
- package/src/modules/icons/entities/IconLeftovers.vue +1 -1
- package/src/modules/icons/entities/IconList.vue +1 -1
- package/src/modules/icons/entities/IconLock.vue +1 -1
- package/src/modules/icons/entities/IconMusic.vue +1 -1
- package/src/modules/icons/entities/IconOrders.vue +1 -1
- package/src/modules/icons/entities/IconPayments.vue +1 -1
- package/src/modules/icons/entities/IconPhone.vue +1 -1
- package/src/modules/icons/entities/IconPopular.vue +1 -1
- package/src/modules/icons/entities/IconPrice.vue +1 -1
- package/src/modules/icons/entities/IconProducts.vue +1 -1
- package/src/modules/icons/entities/IconProfile.vue +1 -1
- package/src/modules/icons/entities/IconRecent.vue +1 -1
- package/src/modules/icons/entities/IconSettings.vue +1 -1
- package/src/modules/icons/entities/IconShopcart.vue +1 -1
- package/src/modules/icons/navigation/IconAdd.vue +1 -1
- package/src/modules/icons/navigation/IconArrow.vue +1 -1
- package/src/modules/icons/navigation/IconAttach.vue +1 -1
- package/src/modules/icons/navigation/IconCheck.vue +1 -1
- package/src/modules/icons/navigation/IconCheckmark.vue +1 -1
- package/src/modules/icons/navigation/IconCross.vue +1 -1
- package/src/modules/icons/navigation/IconDelete.vue +1 -1
- package/src/modules/icons/navigation/IconDoubleCheck.vue +1 -1
- package/src/modules/icons/navigation/IconEdit.vue +1 -1
- package/src/modules/icons/navigation/IconEllipsis.vue +1 -1
- package/src/modules/icons/navigation/IconFilter.vue +1 -1
- package/src/modules/icons/navigation/IconHeart.vue +1 -1
- package/src/modules/icons/navigation/IconInfo.vue +1 -1
- package/src/modules/icons/navigation/IconLike.vue +1 -1
- package/src/modules/icons/navigation/IconMinus.vue +1 -1
- package/src/modules/icons/navigation/IconMute.vue +1 -1
- package/src/modules/icons/navigation/IconPause.vue +1 -1
- package/src/modules/icons/navigation/IconPlay.vue +1 -1
- package/src/modules/icons/navigation/IconPlus.vue +1 -1
- package/src/modules/icons/navigation/IconRefresh.vue +1 -1
- package/src/modules/icons/navigation/IconSearch.vue +1 -1
- package/src/modules/icons/navigation/IconShuffle.vue +1 -1
- package/src/modules/icons/navigation/IconSort.vue +1 -1
- package/src/modules/icons/navigation/IconUnMute.vue +1 -1
- package/src/modules/icons/navigation/IconUpload.vue +1 -1
- package/src/modules/icons/navigation/IconVolume.vue +1 -1
- package/src/modules/icons/socials/dribbble.vue +1 -1
- package/src/modules/icons/socials/facebook.vue +1 -1
- package/src/modules/icons/socials/instagram.vue +1 -1
- package/src/modules/icons/socials/line.vue +1 -1
- package/src/modules/icons/socials/linkedin.vue +1 -1
- package/src/modules/icons/socials/reddit.vue +1 -1
- package/src/modules/icons/socials/telegram.vue +1 -1
- package/src/modules/icons/socials/twitter.vue +1 -1
- package/src/modules/icons/socials/vk.vue +1 -1
- package/src/modules/icons/socials/whatsapp.vue +1 -1
- package/src/modules/icons/socials/youtube.vue +1 -1
- package/src/styles/config.scss +0 -1
- package/dist/martyrs/dist/main-EZaj64lH.js.map +0 -1
- package/dist/martyrs/src/components/EditImages/EditImages.vue.js.map +0 -1
- package/dist/martyrs/src/components/Tab/Tab.vue.js.map +0 -1
- package/dist/martyrs/src/components/Tooltip/Tooltip.vue2.js.map +0 -1
- package/dist/martyrs/src/modules/core/views/components/sections/Filters.vue.js.map +0 -1
package/dist/style.css
CHANGED
|
@@ -275,15 +275,24 @@ a.button {
|
|
|
275
275
|
top: 0;
|
|
276
276
|
}
|
|
277
277
|
.dropdown-content {
|
|
278
|
-
display: block;
|
|
279
278
|
position: absolute;
|
|
280
279
|
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
|
|
281
|
-
z-index:
|
|
280
|
+
z-index: 100;
|
|
281
|
+
border-radius: var(--small);
|
|
282
|
+
transform-origin: top left;
|
|
283
|
+
backdrop-filter: blur(var(--small));
|
|
284
|
+
-webkit-backdrop-filter: blur(var(--small));
|
|
285
|
+
background: rgba(var(--white), 0.5);
|
|
286
|
+
}
|
|
287
|
+
.dropdown-enter-active,
|
|
288
|
+
.dropdown-leave-active {
|
|
289
|
+
transition: transform 0.33s cubic-bezier(0.9, 0, 0.1, 1), opacity 0.15s ease;
|
|
290
|
+
}
|
|
291
|
+
.dropdown-enter-from,
|
|
292
|
+
.dropdown-leave-to {
|
|
293
|
+
opacity: 0.01;
|
|
294
|
+
transform: translateY(-4px) scale(0.8);
|
|
282
295
|
}
|
|
283
|
-
|
|
284
|
-
/*.dropdown:hover .dropdown-content {
|
|
285
|
-
display: block;
|
|
286
|
-
}*/
|
|
287
296
|
.mobile-menu-section > div:last-of-type {
|
|
288
297
|
border-bottom: none !important;
|
|
289
298
|
}
|
|
@@ -1544,76 +1553,76 @@ to {
|
|
|
1544
1553
|
overflow: hidden;
|
|
1545
1554
|
transition: height 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
|
1546
1555
|
}
|
|
1547
|
-
.rotate-180deg[data-v-
|
|
1556
|
+
.rotate-180deg[data-v-9f149045] {
|
|
1548
1557
|
transform: rotate(180deg);
|
|
1549
1558
|
}
|
|
1550
|
-
.hidden[data-v-
|
|
1559
|
+
.hidden[data-v-9f149045] {
|
|
1551
1560
|
/* opacity: 0;*/
|
|
1552
1561
|
width: 0;
|
|
1553
1562
|
display: none;
|
|
1554
1563
|
}
|
|
1555
|
-
.visible[data-v-
|
|
1564
|
+
.visible[data-v-9f149045] {
|
|
1556
1565
|
/* opacity: 1;*/
|
|
1557
1566
|
display: block;
|
|
1558
1567
|
}
|
|
1559
1568
|
|
|
1560
1569
|
/* Dropdown animations */
|
|
1561
|
-
.dropdown-enter[data-v-
|
|
1570
|
+
.dropdown-enter[data-v-9f149045], .dropdown-leave[data-v-9f149045] {
|
|
1562
1571
|
transition: all 0.3s ease-in-out;
|
|
1563
1572
|
}
|
|
1564
|
-
.dropdown-enter-from[data-v-
|
|
1573
|
+
.dropdown-enter-from[data-v-9f149045], .dropdown-leave-to[data-v-9f149045] {
|
|
1565
1574
|
opacity: 0;
|
|
1566
1575
|
transform: translateY(-0.5rem);
|
|
1567
1576
|
}
|
|
1568
|
-
.dropdown-enter-to[data-v-
|
|
1577
|
+
.dropdown-enter-to[data-v-9f149045], .dropdown-leave-from[data-v-9f149045] {
|
|
1569
1578
|
opacity: 1;
|
|
1570
1579
|
transform: translateY(0);
|
|
1571
1580
|
}
|
|
1572
1581
|
|
|
1573
1582
|
/* Horizontal dropdown submenu */
|
|
1574
|
-
.dropdown-submenu[data-v-
|
|
1583
|
+
.dropdown-submenu[data-v-9f149045] {
|
|
1575
1584
|
list-style: none;
|
|
1576
1585
|
padding: 0.5rem;
|
|
1577
1586
|
margin: 0;
|
|
1578
1587
|
min-width: 12rem;
|
|
1579
1588
|
}
|
|
1580
|
-
.dropdown-submenu li[data-v-
|
|
1589
|
+
.dropdown-submenu li[data-v-9f149045] {
|
|
1581
1590
|
width: 100%;
|
|
1582
1591
|
}
|
|
1583
|
-
.dropdown-submenu a[data-v-
|
|
1592
|
+
.dropdown-submenu a[data-v-9f149045] {
|
|
1584
1593
|
display: flex;
|
|
1585
1594
|
text-decoration: none;
|
|
1586
1595
|
white-space: nowrap;
|
|
1587
1596
|
}
|
|
1588
1597
|
|
|
1589
1598
|
/* Transition for horizontal dropdown */
|
|
1590
|
-
[data-v-
|
|
1599
|
+
[data-v-9f149045] .TransitionTranslateY-enter-active,[data-v-9f149045] .TransitionTranslateY-leave-active {
|
|
1591
1600
|
transition: translateY 0.2s ease;
|
|
1592
1601
|
transition: opacity 0.2s ease;
|
|
1593
1602
|
}
|
|
1594
|
-
[data-v-
|
|
1603
|
+
[data-v-9f149045] .TransitionTranslateY-enter-from,[data-v-9f149045] .TransitionTranslateY-leave-to {
|
|
1595
1604
|
opacity: 0;
|
|
1596
1605
|
transform: translateY(-0.5rem);
|
|
1597
1606
|
}
|
|
1598
|
-
[data-v-
|
|
1607
|
+
[data-v-9f149045] .TransitionTranslateY-enter-to,[data-v-9f149045] .TransitionTranslateY-leave-from {
|
|
1599
1608
|
opacity: 1;
|
|
1600
1609
|
transform: translateY(0);
|
|
1601
1610
|
}
|
|
1602
1611
|
|
|
1603
|
-
.hidden[data-v-
|
|
1612
|
+
.hidden[data-v-499f10e6] {
|
|
1604
1613
|
opacity: 0;
|
|
1605
1614
|
width: 0;
|
|
1606
1615
|
display: none;
|
|
1607
1616
|
}
|
|
1608
|
-
.visible[data-v-
|
|
1617
|
+
.visible[data-v-499f10e6] {
|
|
1609
1618
|
opacity: 1;
|
|
1610
1619
|
display: block;
|
|
1611
1620
|
}
|
|
1612
1621
|
|
|
1613
1622
|
/* Mobile: ВСЕГДА скрываем, показываем ТОЛЬКО по клику меню */
|
|
1614
1623
|
@media (max-width: 1024px) {
|
|
1615
|
-
aside[data-sidebar][data-v-
|
|
1616
|
-
position:
|
|
1624
|
+
aside[data-sidebar][data-v-499f10e6] {
|
|
1625
|
+
position: absolute !important;
|
|
1617
1626
|
left: 0 !important;
|
|
1618
1627
|
transform: translateX(-100%) !important;
|
|
1619
1628
|
visibility: hidden !important;
|
|
@@ -1621,24 +1630,24 @@ aside[data-sidebar][data-v-c3592737] {
|
|
|
1621
1630
|
}
|
|
1622
1631
|
|
|
1623
1632
|
/* Показываем ТОЛЬКО когда manual клик (НЕ от SSR state) */
|
|
1624
|
-
aside[data-sidebar].mobile-opened[data-v-
|
|
1633
|
+
aside[data-sidebar].mobile-opened[data-v-499f10e6] {
|
|
1625
1634
|
transform: translateX(0) !important;
|
|
1626
1635
|
visibility: visible !important;
|
|
1627
1636
|
}
|
|
1628
1637
|
}
|
|
1629
1638
|
|
|
1630
1639
|
/* Scrollbar styles */
|
|
1631
|
-
[data-v-
|
|
1640
|
+
[data-v-499f10e6]::-webkit-scrollbar {
|
|
1632
1641
|
width: 6px;
|
|
1633
1642
|
}
|
|
1634
|
-
[data-v-
|
|
1643
|
+
[data-v-499f10e6]::-webkit-scrollbar-track {
|
|
1635
1644
|
background: transparent;
|
|
1636
1645
|
}
|
|
1637
|
-
[data-v-
|
|
1646
|
+
[data-v-499f10e6]::-webkit-scrollbar-thumb {
|
|
1638
1647
|
background-color: var(--grey-micro);
|
|
1639
1648
|
border-radius: 3px;
|
|
1640
1649
|
}
|
|
1641
|
-
[data-v-
|
|
1650
|
+
[data-v-499f10e6]::-webkit-scrollbar-thumb:hover {
|
|
1642
1651
|
background-color: var(--grey-small);
|
|
1643
1652
|
}
|
|
1644
1653
|
.eye[data-v-4241147a] {
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div
|
|
3
|
-
class="
|
|
3
|
+
class=""
|
|
4
4
|
>
|
|
5
5
|
<slot></slot>
|
|
6
6
|
<p
|
|
7
7
|
v-if="chips?.length"
|
|
8
8
|
v-for="(chip,index) in chips"
|
|
9
|
-
:class="'p-regular
|
|
9
|
+
:class="'p-regular'"
|
|
10
10
|
class="mn-r-nano d-inline-block w-max p-regular pd-thin radius-thin fw-medium bg-main"
|
|
11
11
|
>
|
|
12
12
|
{{chip.text ? chip.text : chip}}
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
class="dropdown pos-relative"
|
|
4
4
|
v-click-outside="clickedOutside"
|
|
5
5
|
@click.stop="trigger === 'click' ? (isOpen = !isOpen) : null"
|
|
6
|
-
@mouseenter="
|
|
7
|
-
@mouseleave="
|
|
6
|
+
@mouseenter="handleMouseEnter"
|
|
7
|
+
@mouseleave="handleMouseLeave"
|
|
8
8
|
>
|
|
9
9
|
<slot name="label">
|
|
10
10
|
<div v-if="isComponentLabel" class="w-100 h-100 flex-center flex">
|
|
@@ -14,15 +14,15 @@
|
|
|
14
14
|
{{ label }}
|
|
15
15
|
</div>
|
|
16
16
|
</slot>
|
|
17
|
-
<
|
|
17
|
+
<Transition name="dropdown">
|
|
18
18
|
<div
|
|
19
|
-
v-
|
|
19
|
+
v-if="isOpen"
|
|
20
20
|
:style="{ left: align === 'left' ? '0' : 'auto', right: align === 'right' ? '0' : 'auto' }"
|
|
21
|
-
class="dropdown-content
|
|
21
|
+
class="dropdown-content"
|
|
22
22
|
>
|
|
23
23
|
<slot></slot>
|
|
24
24
|
</div>
|
|
25
|
-
</
|
|
25
|
+
</Transition>
|
|
26
26
|
</div>
|
|
27
27
|
</template>
|
|
28
28
|
|
|
@@ -50,22 +50,50 @@ const props = defineProps({
|
|
|
50
50
|
const isOpen = ref(false);
|
|
51
51
|
const isComponentLabel = computed(() => typeof props.label === 'object');
|
|
52
52
|
|
|
53
|
-
|
|
53
|
+
let closeTimeout = null;
|
|
54
|
+
|
|
55
|
+
function handleMouseEnter() {
|
|
56
|
+
if (props.trigger === 'hover') {
|
|
57
|
+
clearTimeout(closeTimeout);
|
|
58
|
+
isOpen.value = true;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
function handleMouseLeave() {
|
|
63
|
+
if (props.trigger === 'hover') {
|
|
64
|
+
closeTimeout = setTimeout(() => {
|
|
65
|
+
isOpen.value = false;
|
|
66
|
+
}, 100);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
function clickedOutside() {
|
|
54
71
|
if (props.trigger === 'click') {
|
|
55
|
-
isOpen.value = false
|
|
72
|
+
isOpen.value = false;
|
|
56
73
|
}
|
|
57
74
|
}
|
|
58
75
|
</script>
|
|
59
76
|
|
|
60
|
-
<style
|
|
77
|
+
<style>
|
|
61
78
|
.dropdown-content {
|
|
62
|
-
display: block;
|
|
63
79
|
position: absolute;
|
|
64
80
|
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
|
|
65
|
-
z-index:
|
|
81
|
+
z-index: 100;
|
|
82
|
+
border-radius: var(--small);
|
|
83
|
+
transform-origin: top left;
|
|
84
|
+
backdrop-filter: blur(var(--small));
|
|
85
|
+
-webkit-backdrop-filter: blur(var(--small));
|
|
86
|
+
background: rgba(var(--white), 0.5);
|
|
66
87
|
}
|
|
67
88
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
89
|
+
.dropdown-enter-active,
|
|
90
|
+
.dropdown-leave-active {
|
|
91
|
+
transition: transform 0.33s cubic-bezier(0.9, 0, 0.1, 1), opacity 0.15s ease;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.dropdown-enter-from,
|
|
95
|
+
.dropdown-leave-to {
|
|
96
|
+
opacity: 0.01;
|
|
97
|
+
transform: translateY(-4px) scale(0.8);
|
|
98
|
+
}
|
|
71
99
|
</style>
|
|
@@ -45,19 +45,19 @@
|
|
|
45
45
|
h(
|
|
46
46
|
'div',
|
|
47
47
|
{
|
|
48
|
-
class: ['
|
|
48
|
+
class: ['flex-child-1', 'mn-b-thin', 'mn-t-thin', 'mn-r-small', 'i-big', 'flex-v-center', 'flex']
|
|
49
49
|
},
|
|
50
50
|
[
|
|
51
51
|
h(
|
|
52
52
|
'span',
|
|
53
53
|
{
|
|
54
|
-
class: ['p-medium', 'fw-medium'
|
|
54
|
+
class: ['p-medium', 'fw-medium']
|
|
55
55
|
},
|
|
56
56
|
textSlot
|
|
57
57
|
)
|
|
58
58
|
]
|
|
59
59
|
),
|
|
60
|
-
h(IconChevronRight, { class: "i-medium mn-r-medium", type: "chevron"})
|
|
60
|
+
h(IconChevronRight, { class: "i-medium mn-r-medium flex-child-default", type: "chevron"})
|
|
61
61
|
]
|
|
62
62
|
);
|
|
63
63
|
};
|
package/src/jit/loader.js
CHANGED
|
@@ -22,7 +22,12 @@ export default function martyrsLoader(source) {
|
|
|
22
22
|
|
|
23
23
|
// Извлекаем токены через метод плагина
|
|
24
24
|
try {
|
|
25
|
+
const before = plugin.tokensByFile.get(resourcePath)?.size || 0;
|
|
25
26
|
plugin.extractFromFile(source, resourcePath);
|
|
27
|
+
const after = plugin.tokensByFile.get(resourcePath)?.size || 0;
|
|
28
|
+
if (before !== after) {
|
|
29
|
+
console.log(`[MartyrsJIT Loader] ${resourcePath.split('/').pop()}: ${before} → ${after} tokens`);
|
|
30
|
+
}
|
|
26
31
|
} catch (error) {
|
|
27
32
|
console.warn(`[MartyrsJIT] Error extracting tokens from ${resourcePath}:`, error.message);
|
|
28
33
|
}
|
package/src/jit/plugin.js
CHANGED
|
@@ -140,7 +140,9 @@ export class MartyrsJitPlugin {
|
|
|
140
140
|
if (replaced) {
|
|
141
141
|
const { RawSource } = compiler.webpack.sources;
|
|
142
142
|
compilation.updateAsset(filename, new RawSource(source));
|
|
143
|
-
console.log(`[MartyrsJIT] ${this.tokens.size} tokens in ${duration.toFixed(2)}ms`);
|
|
143
|
+
console.log(`[MartyrsJIT] Replaced in ${filename}: ${this.tokens.size} tokens in ${duration.toFixed(2)}ms`);
|
|
144
|
+
} else if (filename.includes('martyrs') || filename.includes('__martyrs')) {
|
|
145
|
+
console.log(`[MartyrsJIT] No placeholder found in ${filename}`);
|
|
144
146
|
}
|
|
145
147
|
}
|
|
146
148
|
}
|
|
@@ -161,6 +163,13 @@ export class MartyrsJitPlugin {
|
|
|
161
163
|
}
|
|
162
164
|
// Сбрасываем кэш CSS (токены изменённых файлов обновятся через loader)
|
|
163
165
|
this.jit.reset();
|
|
166
|
+
// Переписываем виртуальный модуль с плейсхолдером, чтобы rspack пересобрал CSS
|
|
167
|
+
try {
|
|
168
|
+
this.virtualModules.writeModule(VIRTUAL_MODULE_PATH, LAYER_PLACEHOLDER + '\n/*' + Date.now() + '*/');
|
|
169
|
+
console.log('[MartyrsJIT] Virtual module rewritten with placeholder');
|
|
170
|
+
} catch (e) {
|
|
171
|
+
console.log('[MartyrsJIT] watchRun: store not ready yet', e.message);
|
|
172
|
+
}
|
|
164
173
|
});
|
|
165
174
|
}
|
|
166
175
|
|
|
@@ -72,10 +72,10 @@ const processRoute = (routeFn) => {
|
|
|
72
72
|
|
|
73
73
|
<template>
|
|
74
74
|
<nav
|
|
75
|
-
class="ease-quint-out
|
|
75
|
+
class="ease-quint-out"
|
|
76
76
|
:class="[
|
|
77
77
|
stateSidebar ? 'pd-small' : 'pd-micro',
|
|
78
|
-
horizontal ? 'w-100 desktop-only gap-thin flex flex-center flex-nowrap o-y-visible' : '
|
|
78
|
+
horizontal ? 'w-100 desktop-only gap-thin flex flex-center flex-nowrap o-y-visible o-x-visible' : 'gap-medium flex flex-column',
|
|
79
79
|
]"
|
|
80
80
|
>
|
|
81
81
|
<div
|
|
@@ -130,12 +130,12 @@ const processRoute = (routeFn) => {
|
|
|
130
130
|
<!-- <IconChevronBottom :fill="theme === 'dark' ? 'rgb(var(--white))': 'rgb(var(--black))'" class="i-small mn-l-thin"/> -->
|
|
131
131
|
</button>
|
|
132
132
|
</template>
|
|
133
|
-
<ul class="dropdown-submenu
|
|
133
|
+
<ul class="dropdown-submenu">
|
|
134
134
|
<li v-for="subItem in item.subItems" :key="subItem.title">
|
|
135
135
|
<a
|
|
136
136
|
@click="subItem.route ? router.push(processRoute(subItem.route)) : null"
|
|
137
137
|
href="#"
|
|
138
|
-
class="ease-quint-out flex flex-v-center flex-nowrap gap-thin pd-thin radius-small"
|
|
138
|
+
class="group ease-quint-out flex flex-v-center flex-nowrap gap-thin pd-thin radius-small"
|
|
139
139
|
:class="[
|
|
140
140
|
subItem.route && route.path === processRoute(subItem.route) ? theme === 'light' ? 'bg-light' : 'bg-dark' : '',
|
|
141
141
|
theme === 'light' ? 'hover:bg-light' : 'hover:bg-dark'
|
|
@@ -144,8 +144,7 @@ const processRoute = (routeFn) => {
|
|
|
144
144
|
<component
|
|
145
145
|
v-if="subItem.iconComponent"
|
|
146
146
|
:is="subItem.iconComponent"
|
|
147
|
-
class="i-medium"
|
|
148
|
-
fill="rgba(var(--black), 0.25)"
|
|
147
|
+
class="i-medium t-black-transp-25 group-hover:t-main"
|
|
149
148
|
/>
|
|
150
149
|
<span v-else class="">{{ subItem.icon }}</span>
|
|
151
150
|
<span class="w-100">{{ subItem.title }}</span>
|
|
@@ -155,7 +154,7 @@ const processRoute = (routeFn) => {
|
|
|
155
154
|
</Dropdown>
|
|
156
155
|
<button
|
|
157
156
|
v-else
|
|
158
|
-
class="ease-quint-out w-100 flex radius-small flex-nowrap cursor-pointer flex-v-center"
|
|
157
|
+
class="group ease-quint-out w-100 flex radius-small flex-nowrap cursor-pointer flex-v-center"
|
|
159
158
|
@click="item.route ? (isPhone ? (stateSidebar = false) : null, route.path !== processRoute(item.route) ? router.push(processRoute(item.route)) : null) : null"
|
|
160
159
|
:class="[
|
|
161
160
|
horizontal ? 'pd-thin' : '',
|
|
@@ -167,8 +166,7 @@ const processRoute = (routeFn) => {
|
|
|
167
166
|
<component
|
|
168
167
|
v-if="item.iconComponent"
|
|
169
168
|
:is="item.iconComponent"
|
|
170
|
-
class="i-medium flex-child-default"
|
|
171
|
-
fill="rgba(var(--black), 0.25)"
|
|
169
|
+
class="i-medium flex-child-default ease-quint-out t-black-transp-25 group-hover:t-main"
|
|
172
170
|
/>
|
|
173
171
|
<span
|
|
174
172
|
v-if="!item.iconComponent "
|
|
@@ -211,7 +209,7 @@ const processRoute = (routeFn) => {
|
|
|
211
209
|
<a
|
|
212
210
|
@click="subItem.route ? (isPhone ? (stateSidebar = false) : null, route.path !== processRoute(subItem.route) ? router.push(processRoute(subItem.route)) : null) : null"
|
|
213
211
|
href="#"
|
|
214
|
-
class="ease-quint-out flex flex-v-center flex-nowrap gap-thin pd-thin radius-small"
|
|
212
|
+
class="group ease-quint-out flex flex-v-center flex-nowrap gap-thin pd-thin radius-small"
|
|
215
213
|
:class="[
|
|
216
214
|
subItem.route && route.path === processRoute(subItem.route) ? theme === 'light' ? 'bg-light' : 'bg-dark' : '',
|
|
217
215
|
theme === 'light' ? 'hover:bg-light' : 'hover:bg-dark'
|
|
@@ -220,8 +218,7 @@ const processRoute = (routeFn) => {
|
|
|
220
218
|
<component
|
|
221
219
|
v-if="subItem.iconComponent"
|
|
222
220
|
:is="subItem.iconComponent"
|
|
223
|
-
class="i-medium"
|
|
224
|
-
fill="rgba(var(--black), 0.25)"
|
|
221
|
+
class="i-medium t-black-transp-25 group-hover:t-main"
|
|
225
222
|
/>
|
|
226
223
|
<span v-else class="">{{ subItem.icon }}</span>
|
|
227
224
|
<span class="w-100">{{ subItem.title }}</span>
|
|
@@ -86,7 +86,7 @@ router.beforeEach((to, from) => {
|
|
|
86
86
|
<template>
|
|
87
87
|
<aside
|
|
88
88
|
data-sidebar
|
|
89
|
-
class="ease-quint-out w-min-0
|
|
89
|
+
class="ease-quint-out w-min-0 flex-child-default z-index-2 br-r-1px flex flex-column h-100"
|
|
90
90
|
:class="[
|
|
91
91
|
{ 'mobile-opened': isManuallyOpened },
|
|
92
92
|
stateSidebar
|
|
@@ -100,23 +100,29 @@ router.beforeEach((to, from) => {
|
|
|
100
100
|
@mouseenter="handleMouseEnter"
|
|
101
101
|
@mouseleave="handleMouseLeave"
|
|
102
102
|
>
|
|
103
|
-
<!--
|
|
104
|
-
<
|
|
103
|
+
<!-- Header slot - shrink-0 -->
|
|
104
|
+
<div class="flex-shrink-0">
|
|
105
|
+
<slot name="header"></slot>
|
|
106
|
+
</div>
|
|
105
107
|
|
|
106
|
-
<!--
|
|
107
|
-
<
|
|
108
|
+
<!-- Main scrollable content - flex-1 overflow-y-auto -->
|
|
109
|
+
<div class="flex-child-1 o-y-auto">
|
|
110
|
+
<slot></slot>
|
|
111
|
+
</div>
|
|
108
112
|
|
|
109
|
-
<!--
|
|
110
|
-
<
|
|
111
|
-
|
|
113
|
+
<!-- Footer slot - shrink-0 -->
|
|
114
|
+
<div class="flex-shrink-0">
|
|
115
|
+
<slot name="footer"></slot>
|
|
116
|
+
</div>
|
|
117
|
+
<div v-if="MOBILE_APP" @click="() => toggleSidebar()" class="flex-shrink-0 pos-relative">
|
|
112
118
|
<div class="bg-light radius-medium pd-medium">
|
|
113
119
|
<p class="fw-medium t-black-transp-60">
|
|
114
120
|
Close Menu
|
|
115
121
|
</p>
|
|
116
122
|
</div>
|
|
117
123
|
</div>
|
|
118
|
-
<div
|
|
119
|
-
class="w-100 br-t-1px"
|
|
124
|
+
<div
|
|
125
|
+
class="flex-shrink-0 w-100 br-t-1px"
|
|
120
126
|
:class="{
|
|
121
127
|
'pd-micro': !stateSidebar,
|
|
122
128
|
'pd-small': stateSidebar,
|
|
@@ -160,7 +166,7 @@ router.beforeEach((to, from) => {
|
|
|
160
166
|
/* Mobile: ВСЕГДА скрываем, показываем ТОЛЬКО по клику меню */
|
|
161
167
|
@media (max-width: 1024px) {
|
|
162
168
|
aside[data-sidebar] {
|
|
163
|
-
position:
|
|
169
|
+
position: absolute !important;
|
|
164
170
|
left: 0 !important;
|
|
165
171
|
transform: translateX(-100%) !important;
|
|
166
172
|
visibility: hidden !important;
|