maz-ui 5.0.0-beta.32 → 5.0.0-beta.33
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/assets/MazTabsBar.SUnpNfa4.css +2 -0
- package/dist/chunks/MazTabsBar.6uYFYXhR.js +1 -0
- package/dist/components/MazTabsBar.js +1 -1
- package/dist/components/MazTabsBar.vue.d.ts +8 -0
- package/dist/components/index.js +1 -1
- package/package.json +4 -4
- package/dist/assets/MazTabsBar.DQlzWqIX.css +0 -2
- package/dist/chunks/MazTabsBar.D6WkASg4.js +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
|
|
2
|
+
.m-tabs-bar__item[data-v-493c1a2d]:not(:disabled):hover,.m-tabs-bar__item[data-v-493c1a2d]:not(:disabled):active{background-color:#0000!important}.m-tabs-bar__item[data-v-493c1a2d]:not(.--is-active,:disabled):hover{color:var(--maz-foreground)!important}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as _plugin_vue_export_helper_default}from"./_plugin-vue_export-helper.zP_plvmB.js";import{GLOBAL_CONFIG_INJECTION_KEY}from"../composables/useGlobalConfig.js";import{t as MazBtn_default}from"./MazBtn.C7LV-iX2.js";import{Fragment,computed,createBlock,createCommentVNode,createElementBlock,createElementVNode,createTextVNode,defineAsyncComponent,defineComponent,getCurrentInstance,inject,mergeProps,normalizeClass,normalizeStyle,onBeforeMount,onMounted,openBlock,ref,renderList,renderSlot,toDisplayString,unref,watch,withCtx}from"vue";import{sleep}from"@maz-ui/utils/helpers/sleep";import '../assets/MazTabsBar.SUnpNfa4.css';var MazTabsBar_default=_plugin_vue_export_helper_default(defineComponent({__name:`MazTabsBar`,props:{items:{},modelValue:{},size:{},roundedSize:{},color:{},standalone:{type:Boolean,default:!1},persistent:{type:Boolean,default:!1},queryParam:{default:`tab`},block:{type:Boolean,default:!1},elevation:{type:Boolean,default:!1},autoScroll:{type:Boolean,default:!0},bordered:{type:Boolean,default:!0}},emits:[`update:model-value`],setup(__props,{emit:__emit}){let emits=__emit;let MazBadge=defineAsyncComponent(()=>import(`../components/MazBadge.js`));let injectedTabs=inject(`maz-tabs`,void 0);let tabsContext=computed(()=>__props.standalone?void 0:injectedTabs);let instance=getCurrentInstance();let globalConfig=inject(GLOBAL_CONFIG_INJECTION_KEY,void 0);function wasPropProvided(key){let raw=instance?.vnode.props;return raw?Object.hasOwn(raw,key)||Object.hasOwn(raw,key.replace(/\B([A-Z])/g,`-$1`).toLowerCase()):!1}let resolvedSize=computed(()=>wasPropProvided(`size`)?instance.props.size:tabsContext.value?.size?.value??globalConfig?.MazTabsBar?.size??globalConfig?.global?.size??`md`);let resolvedRoundedSize=computed(()=>wasPropProvided(`roundedSize`)?instance.props.roundedSize:tabsContext.value?.roundedSize?.value??globalConfig?.MazTabsBar?.roundedSize??globalConfig?.global?.roundedSize??`md`);let resolvedColor=computed(()=>__props.color??tabsContext.value?.color?.value);let ROUNDED_CLASS={none:``,sm:`maz:rounded-xs`,md:`maz:rounded-md`,lg:`maz:rounded-lg`,xl:`maz:rounded-xl`,full:`maz:rounded-full`};let normalizedItems=computed(()=>__props.items.map(item=>{if(typeof item==`string`)return{label:item,value:void 0,disabled:!1,size:void 0,roundedSize:void 0,color:`transparent`,badge:void 0,btnProps:{}};let{label,value,disabled,badge,size,roundedSize,color:itemColor,...btnProps}=item;return{label,value,disabled:disabled??!1,size,roundedSize,color:itemColor??`transparent`,badge,btnProps}}));let currentTab=computed(()=>{if(tabsContext.value)return tabsContext.value.currentTab.value;if(__props.modelValue===void 0)return 1;let indexByValue=normalizedItems.value.findIndex(item=>item.value!==void 0&&item.value===__props.modelValue);return indexByValue===-1?typeof __props.modelValue==`number`?__props.modelValue:1:indexByValue+1});function setActiveTab(oneBasedIndex){if(tabsContext.value){tabsContext.value.updateCurrentTab(oneBasedIndex);return}let item=normalizedItems.value[oneBasedIndex-1];emits(`update:model-value`,item?.value??oneBasedIndex)}function selectTab(tabIndex){setActiveTab(tabIndex+1),__props.persistent&&addOrUpdateQueryParamTab(tabIndex+1)}let tabsBarRef=ref();let itemRefs=ref([]);function isActiveTab(index){return currentTab.value===index+1}function addElementToItemRefs({mazBtn,index}){itemRefs.value[index]=mazBtn&&`$el`in mazBtn?mazBtn.$el:mazBtn}let tabsIndicatorState=ref();let tabsBarHasScrollAnimation=ref(!1);async function setIndicatorAndScroll(){if(!__props.autoScroll)return;await sleep(150);let tabsBar=tabsBarRef.value;let activeTab=itemRefs.value[currentTab.value-1];if(!tabsBar||!activeTab)return;if(activeTab.offsetLeft-50<tabsBar.scrollLeft||activeTab.offsetLeft+activeTab.offsetWidth>tabsBar.scrollLeft+tabsBar.clientWidth){let tabBarPaddingLeft=globalThis.getComputedStyle(tabsBar).paddingLeft;let tabsBarPaddingOffset=Number(tabBarPaddingLeft.slice(0,-2));tabsBar.scrollTo({left:activeTab.offsetLeft-tabsBarPaddingOffset-50,behavior:tabsBarHasScrollAnimation.value?`smooth`:`instant`})}if(typeof currentTab.value!=`number`)return;let indicatorWidth=activeTab?.offsetWidth??0;let indicatorHeight=activeTab?.offsetHeight??0;tabsIndicatorState.value={transform:`translateX(${activeTab?.offsetLeft??0}px)`,width:`${indicatorWidth}px`,height:`${indicatorHeight}px`},tabsBarHasScrollAnimation.value=!0}function getTabStyle(index,disabled){return disabled?{}:currentTab.value===index+1?resolvedColor.value?`color: var(--maz-${resolvedColor.value}-foreground)`:`color: var(--maz-foreground)`:`color: var(--maz-muted)`}onBeforeMount(()=>{(currentTab.value<1||currentTab.value>normalizedItems.value.length)&&console.error(`[maz-ui](MazTabsBar) The model-value should be between 1 and ${normalizedItems.value.length}`)}),onMounted(()=>{(__props.persistent||currentTab.value)&&setIndicatorAndScroll()}),watch(()=>[currentTab.value,normalizedItems.value],()=>{setIndicatorAndScroll()});function getQueryParamTab(){let urlActuelle=new URL(globalThis.location.href);return Number(urlActuelle.searchParams.get(__props.queryParam))}function addOrUpdateQueryParamTab(tab){let urlActuelle=new URL(globalThis.location.href);urlActuelle.searchParams.set(__props.queryParam,String(tab)),globalThis.history.replaceState({},document.title,urlActuelle.toString())}return onMounted(()=>{__props.persistent&&setActiveTab(getQueryParamTab()||currentTab.value||1)}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{ref_key:`tabsBarRef`,ref:tabsBarRef,class:normalizeClass([`m-tabs-bar m-reset-css maz:relative maz:inline-flex maz:max-w-full maz:gap-1 maz:overflow-x-auto maz:bg-container maz:p-2 maz:align-top`,[ROUNDED_CLASS[resolvedRoundedSize.value],{"--block":__props.block,"--elevation":__props.elevation,"--bordered":__props.bordered,"maz:w-full":__props.block,"maz:shadow-elevation maz:drop-shadow-md maz:dark:shadow-none":__props.elevation,"maz:border maz:border-divider":__props.bordered}]])},[createElementVNode(`div`,{class:normalizeClass([`m-tabs-bar__indicator maz:absolute maz:left-0 maz:text-center`,[ROUNDED_CLASS[resolvedRoundedSize.value],{"maz:transition-all maz:duration-300 maz:ease-in-out":tabsBarHasScrollAnimation.value,"maz:bg-surface-600 maz:dark:bg-surface-400":!resolvedColor.value}]]),style:normalizeStyle([tabsIndicatorState.value,resolvedColor.value?{backgroundColor:`var(--maz-${resolvedColor.value})`}:{}])},null,6),(openBlock(!0),createElementBlock(Fragment,null,renderList(normalizedItems.value,(item,index)=>(openBlock(),createBlock(MazBtn_default,mergeProps({key:index,ref_for:!0,ref:mazBtn=>addElementToItemRefs({mazBtn,index})},{ref_for:!0},item.btnProps,{color:item.color,size:item.size??resolvedSize.value,"rounded-size":item.roundedSize??resolvedRoundedSize.value,disabled:item.disabled,class:[{"--is-active":isActiveTab(index),"--disabled":item.disabled},`m-tabs-bar__item maz:relative maz:z-1 maz:flex-none maz:font-medium`],style:getTabStyle(index,item.disabled),onClick:$event=>item.disabled?void 0:selectTab(index)}),{default:withCtx(()=>[renderSlot(_ctx.$slots,`item`,{item,active:isActiveTab(index),index},()=>[createTextVNode(toDisplayString(item.label)+` `,1),item.badge?(openBlock(),createBlock(unref(MazBadge),mergeProps({key:0,ref_for:!0},item.badge,{size:item.badge.size??item.size??resolvedSize.value??`xs`,class:`m-tabs-bar__item__badge`}),{default:withCtx(()=>[renderSlot(_ctx.$slots,`badge-content`,{content:item.badge.content},()=>[createTextVNode(toDisplayString(item.badge.content),1)],!0)]),_:2},1040,[`size`])):createCommentVNode(``,!0)],!0)]),_:2},1040,[`color`,`size`,`rounded-size`,`disabled`,`class`,`style`,`onClick`]))),128))],2))}}),[[`__scopeId`,`data-v-493c1a2d`]]);export{MazTabsBar_default as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as MazTabsBar_default}from"../chunks/MazTabsBar.
|
|
1
|
+
import{t as MazTabsBar_default}from"../chunks/MazTabsBar.6uYFYXhR.js";export{MazTabsBar_default as default};
|
|
@@ -37,6 +37,14 @@ export interface MazTabsBarProps<Item extends MazTabsBarItem = MazTabsBarItem> {
|
|
|
37
37
|
* @values `'primary' | 'secondary' | 'accent' | 'info' | 'success' | 'warning' | 'destructive' | 'contrast'`
|
|
38
38
|
*/
|
|
39
39
|
color?: MazColor;
|
|
40
|
+
/**
|
|
41
|
+
* Force the standalone mode: the tabs bar ignores any surrounding `MazTabs`
|
|
42
|
+
* (selection, size, rounded-size and color are no longer inherited) and is
|
|
43
|
+
* driven only by its own `v-model`. Useful for a nested switcher inside a
|
|
44
|
+
* page already wrapped by `MazTabs`.
|
|
45
|
+
* @default false
|
|
46
|
+
*/
|
|
47
|
+
standalone?: boolean;
|
|
40
48
|
/**
|
|
41
49
|
* Will add a query param to the url to keep the selected tab on page refresh
|
|
42
50
|
* @default false
|
package/dist/components/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as MazPopover_default}from"../chunks/MazPopover.ClEt7yBl.js";import{t as MazWindowMockup_default}from"../chunks/MazWindowMockup.CDE8xxey.js";import{t as MazUiProvider_default}from"../chunks/MazUiProvider.YBDFRmEY.js";import{n as mazSidebarKey,t as MazSidebar_default}from"../chunks/MazSidebar.BulyDACn.js";import{t as MazTimeline_default}from"../chunks/MazTimeline.B_3DWkmn.js";import{t as MazTicker_default}from"../chunks/MazTicker.PRBHC5D4.js";import{t as MazTextarea_default}from"../chunks/MazTextarea.-yf7kcEl.js";import{t as MazTabsContentItem_default}from"../chunks/MazTabsContentItem.CMmd6V-1.js";import{t as MazTabsContent_default}from"../chunks/MazTabsContent.CVEKkYv9.js";import{t as MazBtn_default}from"../chunks/MazBtn.C7LV-iX2.js";import{t as MazTabsBar_default}from"../chunks/MazTabsBar.
|
|
1
|
+
import{t as MazPopover_default}from"../chunks/MazPopover.ClEt7yBl.js";import{t as MazWindowMockup_default}from"../chunks/MazWindowMockup.CDE8xxey.js";import{t as MazUiProvider_default}from"../chunks/MazUiProvider.YBDFRmEY.js";import{n as mazSidebarKey,t as MazSidebar_default}from"../chunks/MazSidebar.BulyDACn.js";import{t as MazTimeline_default}from"../chunks/MazTimeline.B_3DWkmn.js";import{t as MazTicker_default}from"../chunks/MazTicker.PRBHC5D4.js";import{t as MazTextarea_default}from"../chunks/MazTextarea.-yf7kcEl.js";import{t as MazTabsContentItem_default}from"../chunks/MazTabsContentItem.CMmd6V-1.js";import{t as MazTabsContent_default}from"../chunks/MazTabsContent.CVEKkYv9.js";import{t as MazBtn_default}from"../chunks/MazBtn.C7LV-iX2.js";import{t as MazTabsBar_default}from"../chunks/MazTabsBar.6uYFYXhR.js";import{t as MazTabs_default}from"../chunks/MazTabs.KH7bWhto.js";import{t as MazIcon_default}from"../chunks/MazIcon.CblJ-8Iu.js";import{t as MazTable_default}from"../chunks/MazTable.DyMoS2Gm.js";import{t as MazTableTitle_default}from"../chunks/MazTableTitle.9l_upktE.js";import{t as MazTableRow_default}from"../chunks/MazTableRow.BXIXL0yV.js";import{t as MazTableCell_default}from"../chunks/MazTableCell.DNP_LZnR.js";import{t as MazSwitch_default}from"../chunks/MazSwitch.CuyojUBj.js";import{t as MazStepper_default}from"../chunks/MazStepper.DOvk4K1V.js";import{t as MazSpinner_default}from"../chunks/MazSpinner.BvOWQwI6.js";import{t as MazSlider_default}from"../chunks/MazSlider.Ckx-cbq4.js";import{t as MazSkeleton_default}from"../chunks/MazSkeleton.CDEdF3uV.js";import{t as MazSidebarTrigger_default}from"../chunks/MazSidebarTrigger.C_n--TNi.js";import{t as MazSidebarSeparator_default}from"../chunks/MazSidebarSeparator.xjXYCImo.js";import{t as MazSidebarMenuSub_default}from"../chunks/MazSidebarMenuSub.1Jfu6Y7b.js";import{t as MazSidebarMenuItem_default}from"../chunks/MazSidebarMenuItem.gRkTO9xQ.js";import{t as MazSidebarMenuButton_default}from"../chunks/MazSidebarMenuButton.BnKtGZiV.js";import{t as MazSidebarMenu_default}from"../chunks/MazSidebarMenu.DFRNsBdn.js";import{t as MazSidebarHeader_default}from"../chunks/MazSidebarHeader.6hDBNobn.js";import{t as MazSidebarGroup_default}from"../chunks/MazSidebarGroup.B5sFETII.js";import{t as MazSidebarFooter_default}from"../chunks/MazSidebarFooter.33E6R84z.js";import{t as MazSidebarContent_default}from"../chunks/MazSidebarContent.BdTmGLrP.js";import{t as MazInput_default}from"../chunks/MazInput.CfAgOEV4.js";import{t as MazSelect_default}from"../chunks/MazSelect.BNH6VSkd.js";import{t as MazSelectCountry_default}from"../chunks/MazSelectCountry.0tY5nuJJ.js";import{t as MazReadingProgressBar_default}from"../chunks/MazReadingProgressBar.BH9Yu_Qj.js";import{t as MazLink_default}from"../chunks/MazLink.CemC1AR_.js";import{t as MazReadMore_default}from"../chunks/MazReadMore.CxrT7jez.js";import{t as MazRadioButtons_default}from"../chunks/MazRadioButtons.D-LDS_9l.js";import{t as MazRadio_default}from"../chunks/MazRadio._e2IxB4p.js";import{t as MazPullToRefresh_default}from"../chunks/MazPullToRefresh.B4Qk9C_7.js";import{t as MazPagination_default}from"../chunks/MazPagination.C9dBe4AB.js";import{t as MazBtnGroup_default}from"../chunks/MazBtnGroup.DQPVMzrc.js";import{t as MazDropdown_default}from"../chunks/MazDropdown.D-KqWLC2.js";import{t as MazMarkdownEditor_default}from"../chunks/MazMarkdownEditor.D0xmUyXA.js";import{t as MazLoadingBar_default}from"../chunks/MazLoadingBar.E4257kYk.js";import{t as MazLazyImg_default}from"../chunks/MazLazyImg.DN5hea6A.js";import{t as MazInputTags_default}from"../chunks/MazInputTags.CgEsmbnw.js";import{t as MazInputPrice_default}from"../chunks/MazInputPrice.BfHnR4OF.js";import{t as MazInputPhoneNumber_default}from"../chunks/MazInputPhoneNumber.D2t1K_r7.js";import{t as MazInputNumber_default}from"../chunks/MazInputNumber.DV2AhSCG.js";import{t as MazInputCode_default}from"../chunks/MazInputCode.cxaSfwc-.js";import{t as MazGallery_default}from"../chunks/MazGallery.Dln1pMxz.js";import{t as MazFullscreenLoader_default}from"../chunks/MazFullscreenLoader.DehRHfTr.js";import{t as MazExpandAnimation_default}from"../chunks/MazExpandAnimation.D6ftohlp.js";import{t as MazDropzone_default}from"../chunks/MazDropzone.Cz5cSHN8.js";import{t as MazBackdrop_default}from"../chunks/MazBackdrop.DfqSzNiW.js";import{t as MazDrawer_default}from"../chunks/MazDrawer.4ZjwgXfV.js";import{t as MazDialog_default}from"../chunks/MazDialog.DdbzVWys.js";import{n as useMazDialogConfirm,t as MazDialogConfirm_default}from"../chunks/MazDialogConfirm.FHmw1fnY.js";import{t as MazDatePicker_default}from"../chunks/MazDatePicker.DXQVLXHT.js";import{t as MazContainer_default}from"../chunks/MazContainer.DUmIYBil.js";import{t as MazCodeHighlight_default}from"../chunks/MazCodeHighlight.DdOWcO1L.js";import{t as MazCircularProgressBar_default}from"../chunks/MazCircularProgressBar.ECvJYXG9.js";import{t as MazCardSpotlight_default}from"../chunks/MazCardSpotlight.-ciu7Z_G.js";import{t as MazCheckbox_default}from"../chunks/MazCheckbox.B-1h7RWD.js";import{t as MazChecklist_default}from"../chunks/MazChecklist.Cn_k6AHg.js";import{t as MazChart_default}from"../chunks/MazChart.DkIIa41T.js";import{t as MazCarousel_default}from"../chunks/MazCarousel.B63aV7pT.js";import{t as MazCard_default}from"../chunks/MazCard.DxGlpBqG.js";import{t as MazBottomSheet_default}from"../chunks/MazBottomSheet.BMiGc4uw.js";import{t as MazBadge_default}from"../chunks/MazBadge.G9hi-6Ps.js";import{t as MazAvatar_default}from"../chunks/MazAvatar.Dec3roPS.js";import{t as MazAnimatedText_default}from"../chunks/MazAnimatedText.B7cNm4ss.js";import{t as MazAnimatedElement_default}from"../chunks/MazAnimatedElement.C5yNRQYK.js";import{t as MazAnimatedCounter_default}from"../chunks/MazAnimatedCounter.BejzeMiX.js";import{t as MazAlert_default}from"../chunks/MazAlert.CI0NbMYT.js";import{t as MazAccordion_default}from"../chunks/MazAccordion.CAUGG4-A.js";export{MazAccordion_default as MazAccordion,MazAlert_default as MazAlert,MazAnimatedCounter_default as MazAnimatedCounter,MazAnimatedElement_default as MazAnimatedElement,MazAnimatedText_default as MazAnimatedText,MazAvatar_default as MazAvatar,MazBackdrop_default as MazBackdrop,MazBadge_default as MazBadge,MazBottomSheet_default as MazBottomSheet,MazBtn_default as MazBtn,MazBtnGroup_default as MazBtnGroup,MazCard_default as MazCard,MazCardSpotlight_default as MazCardSpotlight,MazCarousel_default as MazCarousel,MazChart_default as MazChart,MazCheckbox_default as MazCheckbox,MazChecklist_default as MazChecklist,MazCircularProgressBar_default as MazCircularProgressBar,MazCodeHighlight_default as MazCodeHighlight,MazContainer_default as MazContainer,MazDatePicker_default as MazDatePicker,MazDialog_default as MazDialog,MazDialogConfirm_default as MazDialogConfirm,MazDrawer_default as MazDrawer,MazDropdown_default as MazDropdown,MazDropzone_default as MazDropzone,MazExpandAnimation_default as MazExpandAnimation,MazFullscreenLoader_default as MazFullscreenLoader,MazGallery_default as MazGallery,MazIcon_default as MazIcon,MazInput_default as MazInput,MazInputCode_default as MazInputCode,MazInputNumber_default as MazInputNumber,MazInputPhoneNumber_default as MazInputPhoneNumber,MazInputPrice_default as MazInputPrice,MazInputTags_default as MazInputTags,MazLazyImg_default as MazLazyImg,MazLink_default as MazLink,MazLoadingBar_default as MazLoadingBar,MazMarkdownEditor_default as MazMarkdownEditor,MazPagination_default as MazPagination,MazPopover_default as MazPopover,MazPullToRefresh_default as MazPullToRefresh,MazRadio_default as MazRadio,MazRadioButtons_default as MazRadioButtons,MazReadMore_default as MazReadMore,MazReadingProgressBar_default as MazReadingProgressBar,MazSelect_default as MazSelect,MazSelectCountry_default as MazSelectCountry,MazSidebar_default as MazSidebar,MazSidebarContent_default as MazSidebarContent,MazSidebarFooter_default as MazSidebarFooter,MazSidebarGroup_default as MazSidebarGroup,MazSidebarHeader_default as MazSidebarHeader,MazSidebarMenu_default as MazSidebarMenu,MazSidebarMenuButton_default as MazSidebarMenuButton,MazSidebarMenuItem_default as MazSidebarMenuItem,MazSidebarMenuSub_default as MazSidebarMenuSub,MazSidebarSeparator_default as MazSidebarSeparator,MazSidebarTrigger_default as MazSidebarTrigger,MazSkeleton_default as MazSkeleton,MazSlider_default as MazSlider,MazSpinner_default as MazSpinner,MazStepper_default as MazStepper,MazSwitch_default as MazSwitch,MazTable_default as MazTable,MazTableCell_default as MazTableCell,MazTableRow_default as MazTableRow,MazTableTitle_default as MazTableTitle,MazTabs_default as MazTabs,MazTabsBar_default as MazTabsBar,MazTabsContent_default as MazTabsContent,MazTabsContentItem_default as MazTabsContentItem,MazTextarea_default as MazTextarea,MazTicker_default as MazTicker,MazTimeline_default as MazTimeline,MazUiProvider_default as MazUiProvider,MazWindowMockup_default as MazWindowMockup,mazSidebarKey,useMazDialogConfirm};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "maz-ui",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "5.0.0-beta.
|
|
4
|
+
"version": "5.0.0-beta.33",
|
|
5
5
|
"description": "A standalone components library for Vue.Js 3 & Nuxt.Js 3",
|
|
6
6
|
"author": "Louis Mazel <me@loicmazuel.com>",
|
|
7
7
|
"license": "MIT",
|
|
@@ -187,8 +187,8 @@
|
|
|
187
187
|
"valibot": "^1.4.0",
|
|
188
188
|
"@maz-ui/cli": "5.0.0-beta.28",
|
|
189
189
|
"@maz-ui/icons": "5.0.0-beta.25",
|
|
190
|
-
"@maz-ui/themes": "5.0.0-beta.28",
|
|
191
190
|
"@maz-ui/translations": "5.0.0-beta.28",
|
|
191
|
+
"@maz-ui/themes": "5.0.0-beta.28",
|
|
192
192
|
"@maz-ui/utils": "5.0.0-beta.28"
|
|
193
193
|
},
|
|
194
194
|
"devDependencies": {
|
|
@@ -210,9 +210,9 @@
|
|
|
210
210
|
"unplugin-vue-components": "^32.0.0",
|
|
211
211
|
"vue-router": "^5.0.7",
|
|
212
212
|
"@maz-ui/eslint-config": "5.0.0-beta.28",
|
|
213
|
-
"@maz-ui/
|
|
213
|
+
"@maz-ui/node": "5.0.0-beta.26",
|
|
214
214
|
"@maz-ui/stylelint-config": "5.0.0-beta.28",
|
|
215
|
-
"@maz-ui/
|
|
215
|
+
"@maz-ui/vite-config": "0.0.0"
|
|
216
216
|
},
|
|
217
217
|
"lint-staged": {
|
|
218
218
|
"*.{js,ts,vue,mjs,mts,cjs,md,yml,json}": "cross-env NODE_ENV=production eslint --fix",
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
|
|
2
|
-
.m-tabs-bar__item[data-v-15a591bb]:not(:disabled):hover,.m-tabs-bar__item[data-v-15a591bb]:not(:disabled):active{background-color:#0000!important}.m-tabs-bar__item[data-v-15a591bb]:not(.--is-active,:disabled):hover{color:var(--maz-foreground)!important}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as _plugin_vue_export_helper_default}from"./_plugin-vue_export-helper.zP_plvmB.js";import{GLOBAL_CONFIG_INJECTION_KEY}from"../composables/useGlobalConfig.js";import{t as MazBtn_default}from"./MazBtn.C7LV-iX2.js";import{Fragment,computed,createBlock,createCommentVNode,createElementBlock,createElementVNode,createTextVNode,defineAsyncComponent,defineComponent,getCurrentInstance,inject,mergeProps,normalizeClass,normalizeStyle,onBeforeMount,onMounted,openBlock,ref,renderList,renderSlot,toDisplayString,unref,watch,withCtx}from"vue";import{sleep}from"@maz-ui/utils/helpers/sleep";import '../assets/MazTabsBar.DQlzWqIX.css';var MazTabsBar_default=_plugin_vue_export_helper_default(defineComponent({__name:`MazTabsBar`,props:{items:{},modelValue:{},size:{},roundedSize:{},color:{},persistent:{type:Boolean,default:!1},queryParam:{default:`tab`},block:{type:Boolean,default:!1},elevation:{type:Boolean,default:!1},autoScroll:{type:Boolean,default:!0},bordered:{type:Boolean,default:!0}},emits:[`update:model-value`],setup(__props,{emit:__emit}){let emits=__emit;let MazBadge=defineAsyncComponent(()=>import(`../components/MazBadge.js`));let injectedTabs=inject(`maz-tabs`,void 0);let instance=getCurrentInstance();let globalConfig=inject(GLOBAL_CONFIG_INJECTION_KEY,void 0);function wasPropProvided(key){let raw=instance?.vnode.props;return raw?Object.hasOwn(raw,key)||Object.hasOwn(raw,key.replace(/\B([A-Z])/g,`-$1`).toLowerCase()):!1}let resolvedSize=computed(()=>wasPropProvided(`size`)?instance.props.size:injectedTabs?.size?.value??globalConfig?.MazTabsBar?.size??globalConfig?.global?.size??`md`);let resolvedRoundedSize=computed(()=>wasPropProvided(`roundedSize`)?instance.props.roundedSize:injectedTabs?.roundedSize?.value??globalConfig?.MazTabsBar?.roundedSize??globalConfig?.global?.roundedSize??`md`);let resolvedColor=computed(()=>__props.color??injectedTabs?.color?.value);let ROUNDED_CLASS={none:``,sm:`maz:rounded-xs`,md:`maz:rounded-md`,lg:`maz:rounded-lg`,xl:`maz:rounded-xl`,full:`maz:rounded-full`};let normalizedItems=computed(()=>__props.items.map(item=>{if(typeof item==`string`)return{label:item,value:void 0,disabled:!1,size:void 0,roundedSize:void 0,color:`transparent`,badge:void 0,btnProps:{}};let{label,value,disabled,badge,size,roundedSize,color:itemColor,...btnProps}=item;return{label,value,disabled:disabled??!1,size,roundedSize,color:itemColor??`transparent`,badge,btnProps}}));let currentTab=computed(()=>{if(injectedTabs)return injectedTabs.currentTab.value;if(__props.modelValue===void 0)return 1;let indexByValue=normalizedItems.value.findIndex(item=>item.value!==void 0&&item.value===__props.modelValue);return indexByValue===-1?typeof __props.modelValue==`number`?__props.modelValue:1:indexByValue+1});function setActiveTab(oneBasedIndex){if(injectedTabs){injectedTabs.updateCurrentTab(oneBasedIndex);return}let item=normalizedItems.value[oneBasedIndex-1];emits(`update:model-value`,item?.value??oneBasedIndex)}function selectTab(tabIndex){setActiveTab(tabIndex+1),__props.persistent&&addOrUpdateQueryParamTab(tabIndex+1)}let tabsBarRef=ref();let itemRefs=ref([]);function isActiveTab(index){return currentTab.value===index+1}function addElementToItemRefs({mazBtn,index}){itemRefs.value[index]=mazBtn&&`$el`in mazBtn?mazBtn.$el:mazBtn}let tabsIndicatorState=ref();let tabsBarHasScrollAnimation=ref(!1);async function setIndicatorAndScroll(){if(!__props.autoScroll)return;await sleep(150);let tabsBar=tabsBarRef.value;let activeTab=itemRefs.value[currentTab.value-1];if(!tabsBar||!activeTab)return;if(activeTab.offsetLeft-50<tabsBar.scrollLeft||activeTab.offsetLeft+activeTab.offsetWidth>tabsBar.scrollLeft+tabsBar.clientWidth){let tabBarPaddingLeft=globalThis.getComputedStyle(tabsBar).paddingLeft;let tabsBarPaddingOffset=Number(tabBarPaddingLeft.slice(0,-2));tabsBar.scrollTo({left:activeTab.offsetLeft-tabsBarPaddingOffset-50,behavior:tabsBarHasScrollAnimation.value?`smooth`:`instant`})}if(typeof currentTab.value!=`number`)return;let indicatorWidth=activeTab?.offsetWidth??0;let indicatorHeight=activeTab?.offsetHeight??0;tabsIndicatorState.value={transform:`translateX(${activeTab?.offsetLeft??0}px)`,width:`${indicatorWidth}px`,height:`${indicatorHeight}px`},tabsBarHasScrollAnimation.value=!0}function getTabStyle(index,disabled){return disabled?{}:currentTab.value===index+1?resolvedColor.value?`color: var(--maz-${resolvedColor.value}-foreground)`:`color: var(--maz-foreground)`:`color: var(--maz-muted)`}onBeforeMount(()=>{(currentTab.value<1||currentTab.value>normalizedItems.value.length)&&console.error(`[maz-ui](MazTabsBar) The model-value should be between 1 and ${normalizedItems.value.length}`)}),onMounted(()=>{(__props.persistent||currentTab.value)&&setIndicatorAndScroll()}),watch(()=>[currentTab.value,normalizedItems.value],()=>{setIndicatorAndScroll()});function getQueryParamTab(){let urlActuelle=new URL(globalThis.location.href);return Number(urlActuelle.searchParams.get(__props.queryParam))}function addOrUpdateQueryParamTab(tab){let urlActuelle=new URL(globalThis.location.href);urlActuelle.searchParams.set(__props.queryParam,String(tab)),globalThis.history.replaceState({},document.title,urlActuelle.toString())}return onMounted(()=>{__props.persistent&&setActiveTab(getQueryParamTab()||currentTab.value||1)}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{ref_key:`tabsBarRef`,ref:tabsBarRef,class:normalizeClass([`m-tabs-bar m-reset-css maz:relative maz:inline-flex maz:max-w-full maz:gap-1 maz:overflow-x-auto maz:bg-container maz:p-2 maz:align-top`,[ROUNDED_CLASS[resolvedRoundedSize.value],{"--block":__props.block,"--elevation":__props.elevation,"--bordered":__props.bordered,"maz:w-full":__props.block,"maz:shadow-elevation maz:drop-shadow-md maz:dark:shadow-none":__props.elevation,"maz:border maz:border-divider":__props.bordered}]])},[createElementVNode(`div`,{class:normalizeClass([`m-tabs-bar__indicator maz:absolute maz:left-0 maz:text-center`,[ROUNDED_CLASS[resolvedRoundedSize.value],{"maz:transition-all maz:duration-300 maz:ease-in-out":tabsBarHasScrollAnimation.value,"maz:bg-surface-600 maz:dark:bg-surface-400":!resolvedColor.value}]]),style:normalizeStyle([tabsIndicatorState.value,resolvedColor.value?{backgroundColor:`var(--maz-${resolvedColor.value})`}:{}])},null,6),(openBlock(!0),createElementBlock(Fragment,null,renderList(normalizedItems.value,(item,index)=>(openBlock(),createBlock(MazBtn_default,mergeProps({key:index,ref_for:!0,ref:mazBtn=>addElementToItemRefs({mazBtn,index})},{ref_for:!0},item.btnProps,{color:item.color,size:item.size??resolvedSize.value,"rounded-size":item.roundedSize??resolvedRoundedSize.value,disabled:item.disabled,class:[{"--is-active":isActiveTab(index),"--disabled":item.disabled},`m-tabs-bar__item maz:relative maz:z-1 maz:flex-none maz:font-medium`],style:getTabStyle(index,item.disabled),onClick:$event=>item.disabled?void 0:selectTab(index)}),{default:withCtx(()=>[renderSlot(_ctx.$slots,`item`,{item,active:isActiveTab(index),index},()=>[createTextVNode(toDisplayString(item.label)+` `,1),item.badge?(openBlock(),createBlock(unref(MazBadge),mergeProps({key:0,ref_for:!0},item.badge,{size:item.badge.size??item.size??resolvedSize.value??`xs`,class:`m-tabs-bar__item__badge`}),{default:withCtx(()=>[renderSlot(_ctx.$slots,`badge-content`,{content:item.badge.content},()=>[createTextVNode(toDisplayString(item.badge.content),1)],!0)]),_:2},1040,[`size`])):createCommentVNode(``,!0)],!0)]),_:2},1040,[`color`,`size`,`rounded-size`,`disabled`,`class`,`style`,`onClick`]))),128))],2))}}),[[`__scopeId`,`data-v-15a591bb`]]);export{MazTabsBar_default as t};
|