maz-ui 5.0.0-beta.26 → 5.0.0-beta.28
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/MazBtn.BaoUBSlx.css +2 -0
- package/dist/assets/MazDropdown.C1r5LD-W.css +2 -0
- package/dist/assets/MazMarkdownEditor.DeyfIz2b.css +2 -0
- package/dist/chunks/{MazBottomSheet.UP5YIGmX.js → MazBottomSheet.D1BeBFNK.js} +1 -1
- package/dist/chunks/MazBtn.C7LV-iX2.js +1 -0
- package/dist/chunks/MazDropdown.D-KqWLC2.js +1 -0
- package/dist/chunks/{MazDropzone.CmjGClXN.js → MazDropzone.BanbsoiJ.js} +1 -1
- package/dist/chunks/{MazInputTags.ffxbdC-S.js → MazInputTags.q6xAKrH_.js} +1 -1
- package/dist/chunks/{MazMarkdownEditor.KJk_7K2D.js → MazMarkdownEditor.D0xmUyXA.js} +2 -2
- package/dist/chunks/{MazPagination.DNOA8MJ4.js → MazPagination.BLRDXXMX.js} +1 -1
- package/dist/chunks/{MazPickerCalendarGrid.CemIxkbm.js → MazPickerCalendarGrid.9RHBzkN0.js} +1 -1
- package/dist/components/MazBottomSheet.js +1 -1
- package/dist/components/MazBtn.js +1 -1
- package/dist/components/MazBtn.vue.d.ts +6 -1
- package/dist/components/MazDatePicker/MazPickerCalendarMonth/MazPickerCalendarGrid.js +1 -1
- package/dist/components/MazDatePicker/MazPickerCalendarMonth/MazPickerCalendarMonth.js +1 -1
- package/dist/components/MazDatePicker/MazPickerCalendarSwitcher.js +1 -1
- package/dist/components/MazDatePicker/MazPickerMonthSwitcher.js +1 -1
- package/dist/components/MazDatePicker/MazPickerShortcuts.js +1 -1
- package/dist/components/MazDatePicker/MazPickerTime.js +1 -1
- package/dist/components/MazDatePicker/MazPickerYearSwitcher.js +1 -1
- package/dist/components/MazDropdown.js +1 -1
- package/dist/components/MazDropdown.vue.d.ts +26 -14
- package/dist/components/MazDropzone.js +1 -1
- package/dist/components/MazInputTags.js +1 -1
- package/dist/components/MazMarkdownEditor.js +1 -1
- package/dist/components/MazPagination.js +1 -1
- package/dist/components/index.js +1 -1
- package/dist/css/main.css +1 -1
- package/package.json +13 -13
- package/dist/assets/MazBtn.B9XKMqjg.css +0 -2
- package/dist/assets/MazDropdown.BX5T1Y_O.css +0 -2
- package/dist/assets/MazMarkdownEditor.uPI0V-ow.css +0 -2
- package/dist/chunks/MazBtn.DOoL5s3h.js +0 -1
- package/dist/chunks/MazDropdown.CO44HhDK.js +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
|
|
2
|
+
.m-btn[data-v-531af0a0]{--m-btn-bg-hover:oklch(from var(--m-btn-bg) clamp(0, calc(l - .05), 1) c h);--m-btn-bg-active:oklch(from var(--m-btn-bg) clamp(0, calc(l - .1), 1) c h);--m-btn-bd-light:oklch(from var(--m-btn-bg) clamp(0, calc(l + .06), 1) c h);--m-btn-bd-dark:oklch(from var(--m-btn-bg) clamp(0, calc(l - .1), 1) c h);--m-btn-pastel-bg:var(--m-btn-bg)}@supports (color:color-mix(in lab, red, red)){.m-btn[data-v-531af0a0]{--m-btn-pastel-bg:color-mix(in srgb, var(--m-btn-bg) 20%, transparent)}}.m-btn[data-v-531af0a0]{--m-btn-pastel-fg:oklch(from var(--m-btn-bg) clamp(0, calc(l - .1), 1) c h);justify-content:var(--m-btn-justify,center);background-color:var(--m-btn-bg);color:var(--m-btn-fg);font-weight:var(--maz-btn-font-weight,500);outline-offset:2px;outline:2px solid #0000}.m-btn[data-v-531af0a0]:not(:disabled):hover{background-color:var(--m-btn-bg-hover)}.m-btn[data-v-531af0a0]:not(:disabled):active,.m-btn.--active[data-v-531af0a0]{background-color:var(--m-btn-bg-active)}.m-btn[data-v-531af0a0]:focus-visible{outline-color:var(--m-btn-bg,var(--maz-primary))}.m-btn-loader-container[data-v-531af0a0]{inset:calc(var(--maz-space) * 0);background-color:var(--m-btn-bg);color:var(--m-btn-fg);justify-content:center;align-items:center;display:flex;position:absolute}.m-btn.--outlined[data-v-531af0a0]{border-color:var(--m-btn-bd-light);background-color:#0000}.m-btn.--outlined[data-v-531af0a0]:where(.dark,.dark *){border-color:var(--m-btn-bd-dark)}.m-btn.--outlined[data-v-531af0a0]{color:var(--m-btn-bg)}.m-btn.--outlined[data-v-531af0a0]:not(:disabled):hover{background-color:var(--m-btn-bg)}@supports (color:color-mix(in lab, red, red)){.m-btn.--outlined[data-v-531af0a0]:not(:disabled):hover{background-color:color-mix(in srgb, var(--m-btn-bg) 10%, transparent)}}.m-btn.--outlined[data-v-531af0a0]:not(:disabled):active,.m-btn.--outlined.--active[data-v-531af0a0]{background-color:var(--m-btn-bg)}@supports (color:color-mix(in lab, red, red)){.m-btn.--outlined[data-v-531af0a0]:not(:disabled):active,.m-btn.--outlined.--active[data-v-531af0a0]{background-color:color-mix(in srgb, var(--m-btn-bg) 20%, transparent)}}.m-btn.--pastel[data-v-531af0a0]{background-color:var(--m-btn-pastel-bg);color:var(--m-btn-pastel-fg)}.m-btn.--pastel[data-v-531af0a0]:not(:disabled):hover{background-color:var(--m-btn-bg);color:var(--m-btn-fg)}.m-btn.--pastel[data-v-531af0a0]:not(:disabled):active,.m-btn.--pastel.--active[data-v-531af0a0]{background-color:var(--m-btn-bg-hover);color:var(--m-btn-fg)}.m-btn.--transparent[data-v-531af0a0]{color:var(--maz-color-foreground,var(--maz-foreground));background-color:#0000}.m-btn.--transparent[data-v-531af0a0]:not(:disabled):hover{background-color:var(--maz-color-surface-600,oklch(from var(--maz-surface) clamp(0, calc(l - .05), 1) c h))}@supports (color:color-mix(in lab, red, red)){.m-btn.--transparent[data-v-531af0a0]:not(:disabled):hover{background-color:color-mix(in oklab, var(--maz-color-surface-600,oklch(from var(--maz-surface) clamp(0, calc(l - .05), 1) c h)) 50%, transparent)}}.m-btn.--transparent[data-v-531af0a0]:not(:disabled):hover:where(.dark,.dark *){background-color:var(--maz-color-surface-400,oklch(from var(--maz-surface) clamp(0, calc(l + .06), 1) c h))}.m-btn.--transparent.--outlined[data-v-531af0a0]{border-color:var(--maz-color-divider,var(--maz-divider))}.m-btn.--transparent.--outlined[data-v-531af0a0]:not(:disabled):hover{background-color:var(--maz-color-surface-600,oklch(from var(--maz-surface) clamp(0, calc(l - .05), 1) c h))}@supports (color:color-mix(in lab, red, red)){.m-btn.--transparent.--outlined[data-v-531af0a0]:not(:disabled):hover{background-color:color-mix(in oklab, var(--maz-color-surface-600,oklch(from var(--maz-surface) clamp(0, calc(l - .05), 1) c h)) 50%, transparent)}}.m-btn.--transparent.--outlined[data-v-531af0a0]:not(:disabled):active,.m-btn.--transparent.--outlined.--active[data-v-531af0a0],.m-btn.--transparent.--pastel[data-v-531af0a0]:not(:disabled):hover{background-color:var(--maz-color-surface-600,oklch(from var(--maz-surface) clamp(0, calc(l - .05), 1) c h))}.m-btn.--transparent.--pastel[data-v-531af0a0]:not(:disabled):active,.m-btn.--transparent.--pastel.--active[data-v-531af0a0]{background-color:var(--maz-color-surface-700,oklch(from var(--maz-surface) clamp(0, calc(l - .1), 1) c h))}.m-btn.--transparent .m-btn-loader-container[data-v-531af0a0],.m-btn.--surface[data-v-531af0a0]{background-color:var(--maz-color-surface,var(--maz-surface));color:var(--maz-color-foreground,var(--maz-foreground))}.m-btn.--surface[data-v-531af0a0]:not(:disabled):hover{background-color:var(--maz-color-surface-600,oklch(from var(--maz-surface) clamp(0, calc(l - .05), 1) c h))}.m-btn.--surface[data-v-531af0a0]:not(:disabled):hover:where(.dark,.dark *){background-color:var(--maz-color-surface-400,oklch(from var(--maz-surface) clamp(0, calc(l + .06), 1) c h))}.m-btn.--surface[data-v-531af0a0]:not(:disabled):active,.m-btn.--surface.--active[data-v-531af0a0]{background-color:var(--maz-color-surface-700,oklch(from var(--maz-surface) clamp(0, calc(l - .1), 1) c h))}:is(.m-btn.--surface[data-v-531af0a0]:not(:disabled):active,.m-btn.--surface.--active[data-v-531af0a0]):where(.dark,.dark *){background-color:var(--maz-color-surface-300,oklch(from var(--maz-surface) clamp(0, calc(l + .13), 1) c h))}.m-btn.--surface.--outlined[data-v-531af0a0]{border-color:var(--maz-color-divider,var(--maz-divider));background-color:#0000}.m-btn.--surface.--outlined[data-v-531af0a0]:not(:disabled):hover{background-color:var(--maz-color-surface-600,oklch(from var(--maz-surface) clamp(0, calc(l - .05), 1) c h))}@supports (color:color-mix(in lab, red, red)){.m-btn.--surface.--outlined[data-v-531af0a0]:not(:disabled):hover{background-color:color-mix(in oklab, var(--maz-color-surface-600,oklch(from var(--maz-surface) clamp(0, calc(l - .05), 1) c h)) 50%, transparent)}}.m-btn.--surface.--outlined[data-v-531af0a0]:not(:disabled):active,.m-btn.--surface.--outlined.--active[data-v-531af0a0],.m-btn.--surface.--pastel[data-v-531af0a0]{background-color:var(--maz-color-surface-600,oklch(from var(--maz-surface) clamp(0, calc(l - .05), 1) c h))}.m-btn.--surface.--pastel[data-v-531af0a0]:not(:disabled):hover{background-color:var(--maz-color-surface-700,oklch(from var(--maz-surface) clamp(0, calc(l - .1), 1) c h))}.m-btn.--surface.--pastel[data-v-531af0a0]:not(:disabled):active,.m-btn.--surface.--pastel.--active[data-v-531af0a0]{background-color:var(--maz-color-surface-800,oklch(from var(--maz-surface) clamp(0, calc(l - .16), 1) calc(c * .9) h))}.m-btn.--surface .m-btn-loader-container[data-v-531af0a0]{background-color:var(--maz-color-surface-600,oklch(from var(--maz-surface) clamp(0, calc(l - .05), 1) c h));color:var(--maz-color-foreground,var(--maz-foreground))}.m-btn.--surface .m-btn-loader-container[data-v-531af0a0]:where(.dark,.dark *){background-color:var(--maz-color-surface-400,oklch(from var(--maz-surface) clamp(0, calc(l + .06), 1) c h))}.m-btn.--block[data-v-531af0a0]{width:100%}.m-btn[data-v-531af0a0]:disabled:not(.--loading){cursor:var(--maz-disabled-cursor);border-color:var(--maz-color-surface-600,oklch(from var(--maz-surface) clamp(0, calc(l - .05), 1) c h));background-color:var(--maz-color-surface-600,oklch(from var(--maz-surface) clamp(0, calc(l - .05), 1) c h));color:var(--maz-color-muted,var(--maz-muted))}.m-btn[data-v-531af0a0]:disabled:not(.--loading):where(.dark,.dark *){border-color:var(--maz-color-surface-400,oklch(from var(--maz-surface) clamp(0, calc(l + .06), 1) c h));background-color:var(--maz-color-surface-400,oklch(from var(--maz-surface) clamp(0, calc(l + .06), 1) c h))}.m-btn.--loading[data-v-531af0a0]{cursor:wait}.m-btn.--no-padding[data-v-531af0a0]{padding:calc(var(--maz-space) * 0)}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
|
|
2
|
+
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){[data-v-fb02821a],[data-v-fb02821a]:before,[data-v-fb02821a]:after{--tw-duration:initial;--tw-ease:initial}[data-v-fb02821a]::backdrop{--tw-duration:initial;--tw-ease:initial}}}.m-dropdown__icon[data-v-fb02821a]{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--ease-out));transition-duration:var(--tw-duration,var(--duration-normal));--tw-duration:.2s;--tw-ease:var(--maz-easing-in-out,cubic-bezier(.4, 0, .2, 1));transition-duration:.2s;transition-timing-function:var(--maz-easing-in-out,cubic-bezier(.4, 0, .2, 1))}.m-dropdown__icon.--open[data-v-fb02821a]{rotate:180deg}.m-dropdown__menu .menuitem[data-v-fb02821a]{text-align:start;white-space:nowrap}.m-dropdown__menu .menuitem[data-v-fb02821a]:not(.menuitem--hoverable){cursor:default}.m-dropdown__menu .menuitem[data-v-fb02821a]:not(.menuitem--hoverable):hover{background-color:#0000}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
|
|
2
|
+
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){[data-v-d061360c],[data-v-d061360c]:before,[data-v-d061360c]:after{--tw-font-weight:initial;--tw-border-style:solid}[data-v-d061360c]::backdrop{--tw-font-weight:initial;--tw-border-style:solid}}}.m-markdown-editor__box[data-v-d061360c]{transition:border-color .2s cubic-bezier(0,0,.2,1)}.m-markdown-editor__box.--primary[data-v-d061360c]:focus-within{border-color:var(--maz-color-primary,var(--maz-primary))}.m-markdown-editor__box.--secondary[data-v-d061360c]:focus-within{border-color:var(--maz-color-secondary,var(--maz-secondary))}.m-markdown-editor__box.--accent[data-v-d061360c]:focus-within{border-color:var(--maz-color-accent,var(--maz-accent))}.m-markdown-editor__box.--info[data-v-d061360c]:focus-within{border-color:var(--maz-color-info,var(--maz-info))}.m-markdown-editor__box.--success[data-v-d061360c]:focus-within{border-color:var(--maz-color-success,var(--maz-success))}.m-markdown-editor__box.--warning[data-v-d061360c]:focus-within{border-color:var(--maz-color-warning,var(--maz-warning))}.m-markdown-editor__box.--destructive[data-v-d061360c]:focus-within{border-color:var(--maz-color-destructive,var(--maz-destructive))}.m-markdown-editor__box.--contrast[data-v-d061360c]:focus-within{border-color:var(--maz-color-contrast,var(--maz-contrast))}.m-markdown-editor__box.--is-disabled[data-v-d061360c] *{cursor:var(--maz-disabled-cursor);color:var(--maz-color-muted,var(--maz-muted))}.m-markdown-editor__gutter[data-v-d061360c]{line-height:1.6}.m-markdown-editor__textarea[data-v-d061360c]{field-sizing:content;line-height:1.6}.m-markdown-editor__preview-content[data-v-d061360c]{line-height:1.6}:is(.m-markdown-editor__preview-content[data-v-d061360c] h1,.m-markdown-editor__preview-content[data-v-d061360c] h2,.m-markdown-editor__preview-content[data-v-d061360c] h3,.m-markdown-editor__preview-content[data-v-d061360c] h4){margin-top:calc(var(--maz-space) * 4);margin-bottom:calc(var(--maz-space) * 2);--tw-font-weight:var(--maz-font-weight-semibold,600);font-weight:var(--maz-font-weight-semibold,600)}:is(.m-markdown-editor__preview-content[data-v-d061360c] h1,.m-markdown-editor__preview-content[data-v-d061360c] h2,.m-markdown-editor__preview-content[data-v-d061360c] h3,.m-markdown-editor__preview-content[data-v-d061360c] h4):first-child{margin-top:calc(var(--maz-space) * 0)}.m-markdown-editor__preview-content[data-v-d061360c] h1{font-size:var(--maz-text-2xl,1.5rem);line-height:var(--tw-leading,var(--maz-text-2xl--line-height,calc(2 / 1.5)))}.m-markdown-editor__preview-content[data-v-d061360c] h2{font-size:var(--maz-text-xl,1.25rem);line-height:var(--tw-leading,var(--maz-text-xl--line-height,calc(1.75 / 1.25)))}.m-markdown-editor__preview-content[data-v-d061360c] h3{font-size:var(--maz-text-lg,1.125rem);line-height:var(--tw-leading,var(--maz-text-lg--line-height,calc(1.75 / 1.125)))}.m-markdown-editor__preview-content[data-v-d061360c] p{margin-block:calc(var(--maz-space) * 2)}:is(.m-markdown-editor__preview-content[data-v-d061360c] ul,.m-markdown-editor__preview-content[data-v-d061360c] ol){margin-block:calc(var(--maz-space) * 2);padding-left:calc(var(--maz-space) * 6)}.m-markdown-editor__preview-content[data-v-d061360c] ul{list-style-type:disc}.m-markdown-editor__preview-content[data-v-d061360c] ol{list-style-type:decimal}.m-markdown-editor__preview-content[data-v-d061360c] a{color:var(--maz-color-primary,var(--maz-primary));text-decoration-line:underline}.m-markdown-editor__preview-content[data-v-d061360c] blockquote{border-left-style:var(--tw-border-style);border-left-width:4px;border-color:var(--maz-color-divider,var(--maz-divider));padding-left:calc(var(--maz-space) * 4);color:var(--maz-color-muted,var(--maz-muted));font-style:italic}.m-markdown-editor__preview-content[data-v-d061360c] code{border-radius:var(--maz-rounded-xs);background-color:var(--maz-color-surface-600,oklch(from var(--maz-surface) clamp(0, calc(l - .05), 1) c h));padding-inline:calc(var(--maz-space) * 1);padding-block:calc(var(--maz-space) * .5);font-family:var(--maz-font-mono-stack);font-size:var(--maz-text-xs,.75rem);line-height:var(--tw-leading,var(--maz-text-xs--line-height,calc(1 / .75)))}.m-markdown-editor__preview-content[data-v-d061360c] code:where(.dark,.dark *){background-color:var(--maz-color-surface-400,oklch(from var(--maz-surface) clamp(0, calc(l + .06), 1) c h))}.m-markdown-editor__preview-content[data-v-d061360c] pre{margin-block:calc(var(--maz-space) * 2);border-radius:var(--maz-rounded-md);background-color:var(--maz-color-surface-600,oklch(from var(--maz-surface) clamp(0, calc(l - .05), 1) c h));padding:calc(var(--maz-space) * 3);overflow-x:auto}.m-markdown-editor__preview-content[data-v-d061360c] pre:where(.dark,.dark *){background-color:var(--maz-color-surface-400,oklch(from var(--maz-surface) clamp(0, calc(l + .06), 1) c h))}.m-markdown-editor__preview-content[data-v-d061360c] pre code{padding:calc(var(--maz-space) * 0);background-color:#0000}.m-markdown-editor__preview-content[data-v-d061360c] table{margin-block:calc(var(--maz-space) * 2);border-collapse:collapse;width:100%}:is(.m-markdown-editor__preview-content[data-v-d061360c] th,.m-markdown-editor__preview-content[data-v-d061360c] td){border-style:var(--tw-border-style);border-width:var(--maz-border-width);border-color:var(--maz-color-divider,var(--maz-divider));padding-inline:calc(var(--maz-space) * 2);padding-block:calc(var(--maz-space) * 1)}:is(.m-markdown-editor__preview-content[data-v-d061360c] th,.m-markdown-editor__preview-content[data-v-d061360c] td):where(.dark,.dark *){border-color:var(--maz-color-divider-400,oklch(from var(--maz-divider) clamp(0, calc(l + .06), 1) c h))}.m-markdown-editor__preview-content[data-v-d061360c] img{max-width:100%}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as MazIcon_default}from"./MazIcon.CblJ-8Iu.js";import{t as MazBtn_default}from"./MazBtn.
|
|
1
|
+
import{t as MazIcon_default}from"./MazIcon.CblJ-8Iu.js";import{t as MazBtn_default}from"./MazBtn.C7LV-iX2.js";import{t as MazBackdrop_default}from"./MazBackdrop.DfqSzNiW.js";import{createBlock,createCommentVNode,createElementVNode,createVNode,defineComponent,normalizeClass,openBlock,renderSlot,unref,withCtx}from"vue";import{MazXMark}from"@maz-ui/icons/raw/MazXMark";var MazBottomSheet_default=defineComponent({__name:`MazBottomSheet`,props:{modelValue:{type:Boolean},hideCloseButton:{type:Boolean,default:!1},padding:{type:Boolean,default:!0}},emits:[`update:model-value`,`open`,`close`],setup(__props,{emit:__emit}){let emits=__emit;return(_ctx,_cache)=>(openBlock(),createBlock(MazBackdrop_default,{"model-value":__props.modelValue,"transition-name":`bottom-sheet-anim`,"backdrop-class":`--bottom-sheet`,"content-padding":!1,align:`end`,justify:`none`,variant:`bottom-sheet`,onClose:_cache[0]||=$event=>_ctx.$emit(`close`,$event),onOpen:_cache[1]||=$event=>_ctx.$emit(`open`,$event),"onUpdate:modelValue":_cache[2]||=$event=>emits(`update:model-value`,$event)},{default:withCtx(({close})=>[createElementVNode(`div`,{class:normalizeClass([`m-bottom-sheet__container maz:relative maz:w-full maz:rounded-t-lg maz:bg-container maz:px-12 maz:text-foreground maz:shadow-elevation maz:drop-shadow-md`,{"--padding":__props.padding,"maz:py-6":__props.padding}])},[renderSlot(_ctx.$slots,`default`,{close}),__props.hideCloseButton?createCommentVNode(``,!0):(openBlock(),createBlock(MazBtn_default,{key:0,size:`sm`,class:`m-bottom-sheet__close maz:absolute! maz:inset-e-2 maz:top-2`,color:`transparent`,onClick:close},{default:withCtx(()=>[createVNode(MazIcon_default,{icon:unref(MazXMark),class:`maz:text-lg`},null,8,[`icon`])]),_:1},8,[`onClick`]))],2)]),_:3},8,[`model-value`]))}});export{MazBottomSheet_default as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as hasSlotContent}from"./hasSlotContent.rEQOMGV4.js";import{t as getColor}from"./types.BkdDF2d8.js";import{t as _plugin_vue_export_helper_default}from"./_plugin-vue_export-helper.zP_plvmB.js";import{useMazIconProps}from"../composables/useMazIconProps.js";import{useGlobalConfig}from"../composables/useGlobalConfig.js";import{t as resolveLinkComponent}from"./resolveLinkComponent.Cbat3RFd.js";import{computed,createBlock,createCommentVNode,createElementBlock,createTextVNode,createVNode,defineAsyncComponent,defineComponent,mergeProps,normalizeClass,normalizeProps,normalizeStyle,openBlock,renderSlot,resolveDynamicComponent,toDisplayString,unref,useAttrs,withCtx}from"vue";import '../assets/MazBtn.BaoUBSlx.css';var _hoisted_1={key:0,class:`m-btn-loader-container`};var MazBtn_default=_plugin_vue_export_helper_default(defineComponent({__name:`MazBtn`,props:{text:{},size:{},color:{default:`primary`},textColor:{},type:{default:`button`},roundedSize:{},outlined:{type:Boolean},pastel:{type:Boolean},block:{type:Boolean},loading:{type:Boolean},disabled:{type:Boolean},fab:{type:Boolean},icon:{type:[String,Function,Object]},startIcon:{type:[String,Function,Object]},endIcon:{type:[String,Function,Object]},padding:{type:Boolean,default:!0},justify:{default:`center`},active:{type:Boolean}},setup(__props){let{size,roundedSize}=useGlobalConfig(`MazBtn`,{size:`md`,roundedSize:`md`});let MazIcon=defineAsyncComponent(()=>import(`../components/MazIcon.js`));let MazSpinner=defineAsyncComponent(()=>import(`../components/MazSpinner.js`));let{href,to}=useAttrs();let component=computed(()=>href?`a`:to?resolveLinkComponent():`button`);let resolvedColor=computed(()=>getColor(__props.color));let isDisabled=computed(()=>(__props.loading||__props.disabled)&&component.value===`button`);let btnType=computed(()=>component.value===`button`?__props.type:void 0);let iconSize=computed(()=>({xl:`lg`,lg:`md`,md:`md`,sm:`sm`,xs:`xs`,mini:`1em`})[size.value]||`lg`);let{iconProps:startIconProps}=useMazIconProps(()=>__props.startIcon,()=>({size:iconSize.value}));let{iconProps:endIconProps}=useMazIconProps(()=>__props.endIcon,()=>({size:iconSize.value}));let{iconProps:fabIconProps}=useMazIconProps(()=>__props.icon,()=>({size:iconSize.value}));let btnStyle=computed(()=>{let c=resolvedColor.value;let base={"--m-btn-justify":__props.justify};return c===`transparent`||c===`surface`?base:{...base,"--m-btn-bg":`var(--maz-${c})`,"--m-btn-fg":`var(--maz-${c}-foreground)`,...__props.pastel&&c===`contrast`&&{"--m-btn-pastel-fg":`var(--maz-contrast-foreground)`}}});let TEXT_COLOR={primary:`maz:text-primary!`,secondary:`maz:text-secondary!`,accent:`maz:text-accent!`,info:`maz:text-info!`,success:`maz:text-success!`,warning:`maz:text-warning!`,destructive:`maz:text-destructive!`,contrast:`maz:text-contrast!`,transparent:`maz:text-transparent!`,muted:`maz:text-muted!`};let SIZE_CLASS={xl:`maz:min-h-16 maz:px-8 maz:text-xl`,lg:`maz:min-h-14 maz:px-6`,md:`maz:min-h-12 maz:px-4`,sm:`maz:min-h-10 maz:px-3`,xs:`maz:min-h-8 maz:px-2 maz:text-sm`,mini:`maz:min-h-6 maz:px-1 maz:text-xs`};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 FAB_SIZE_CLASS={xl:`maz:w-16`,lg:`maz:w-14`,md:`maz:w-12`,sm:`maz:w-10`,xs:`maz:w-8`,mini:`maz:w-6`};let ICON_PADDING_CLASS={xl:{start:`maz:ps-6`,end:`maz:pe-6`},lg:{start:`maz:ps-4`,end:`maz:pe-4`},md:{start:`maz:ps-2`,end:`maz:pe-2`},sm:{start:`maz:ps-2`,end:`maz:pe-2`},xs:{start:``,end:``},mini:{start:``,end:``}};return(_ctx,_cache)=>(openBlock(),createBlock(resolveDynamicComponent(component.value),{disabled:isDisabled.value,class:normalizeClass([`m-btn m-reset-css maz:inline-flex maz:cursor-pointer maz:items-center maz:gap-2 maz:overflow-hidden maz:border maz:border-solid maz:border-transparent maz:bg-transparent maz:py-0.5 maz:text-center maz:align-top maz:text-foreground maz:no-underline maz:transition-all maz:duration-200 maz:ease-in-out`,[`--${resolvedColor.value}`,`--${unref(size)}`,__props.textColor&&`${TEXT_COLOR[__props.textColor]}`,!__props.fab&&unref(roundedSize)?`--rounded-${unref(roundedSize)}`:``,SIZE_CLASS[unref(size)],__props.fab?`maz:flex maz:flex-center maz:rounded-full maz:p-1`:ROUNDED_CLASS[unref(roundedSize)],__props.fab?FAB_SIZE_CLASS[unref(size)]:``,__props.startIcon||unref(hasSlotContent)(_ctx.$slots[`start-icon`])?ICON_PADDING_CLASS[unref(size)].start:``,__props.endIcon||unref(hasSlotContent)(_ctx.$slots[`end-icon`])?ICON_PADDING_CLASS[unref(size)].end:``,{"maz:relative":__props.loading,"--outlined":__props.outlined,"--pastel":__props.pastel,"--block":__props.block&&!__props.fab,"--fab":__props.fab,"--loading":__props.loading,"--active":__props.active,"--no-padding":!__props.padding,"--has-start-icon":!!__props.startIcon||unref(hasSlotContent)(_ctx.$slots[`start-icon`]),"--has-end-icon":!!__props.endIcon||unref(hasSlotContent)(_ctx.$slots[`end-icon`])}]]),style:normalizeStyle(btnStyle.value),type:btnType.value},{default:withCtx(()=>[renderSlot(_ctx.$slots,`start-icon`,{},()=>[unref(startIconProps)?(openBlock(),createBlock(unref(MazIcon),normalizeProps(mergeProps({key:0},unref(startIconProps))),null,16)):createCommentVNode(``,!0)],!0),renderSlot(_ctx.$slots,`icon`,{},()=>[unref(fabIconProps)?(openBlock(),createBlock(unref(MazIcon),normalizeProps(mergeProps({key:0},unref(fabIconProps))),null,16)):createCommentVNode(``,!0)],!0),renderSlot(_ctx.$slots,`default`,{},()=>[createTextVNode(toDisplayString(__props.text),1)],!0),renderSlot(_ctx.$slots,`end-icon`,{},()=>[unref(endIconProps)?(openBlock(),createBlock(unref(MazIcon),normalizeProps(mergeProps({key:0},unref(endIconProps))),null,16)):createCommentVNode(``,!0)],!0),__props.loading?(openBlock(),createElementBlock(`div`,_hoisted_1,[renderSlot(_ctx.$slots,`loader`,{},()=>[createVNode(unref(MazSpinner),{size:`2em`})],!0)])):createCommentVNode(``,!0)]),_:3},8,[`disabled`,`class`,`style`,`type`]))}}),[[`__scopeId`,`data-v-531af0a0`]]);export{MazBtn_default as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useInstanceUniqId}from"../composables/useInstanceUniqId.js";import{t as hasSlotContent}from"./hasSlotContent.rEQOMGV4.js";import{t as MazPopover_default}from"./MazPopover.ClEt7yBl.js";import{t as _plugin_vue_export_helper_default}from"./_plugin-vue_export-helper.zP_plvmB.js";import{useMazIconProps}from"../composables/useMazIconProps.js";import{useGlobalConfig}from"../composables/useGlobalConfig.js";import{Fragment,computed,createBlock,createCommentVNode,createElementBlock,createElementVNode,createSlots,createTextVNode,createVNode,defineAsyncComponent,defineComponent,mergeModels,mergeProps,normalizeClass,normalizeStyle,openBlock,renderList,renderSlot,toDisplayString,unref,useModel,useTemplateRef,watch,withCtx,withKeys,withModifiers}from"vue";import{useTranslations}from"@maz-ui/translations/composables/useTranslations";import{isClient}from"@maz-ui/utils/helpers/isClient";import{MazChevronDown}from"@maz-ui/icons/raw/MazChevronDown";import '../assets/MazDropdown.C1r5LD-W.css';var _hoisted_1=[`id`];var _hoisted_2=[`id`];var _hoisted_3=[`id`];var MazDropdown_default=_plugin_vue_export_helper_default(defineComponent({inheritAttrs:!1,__name:`MazDropdown`,props:mergeModels({modelValue:{type:Boolean},style:{type:[Boolean,null,String,Object,Array]},class:{type:[Boolean,null,String,Object,Array]},items:{default:()=>[]},itemsSize:{},id:{},trigger:{default:`adaptive`},color:{default:`transparent`},position:{default:`auto`},closeOnClick:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},chevron:{type:Boolean,default:!0},screenReaderDescription:{},menuPanelClass:{type:[Boolean,null,String,Object,Array]},menuPanelStyle:{type:[Boolean,null,String,Object,Array]},block:{type:Boolean},dropdownIcon:{type:[String,Function,Object]},dropdownIconAnimation:{type:Boolean,default:!0},size:{},transition:{default:`scale-pop`},preferPosition:{default:`bottom-start`},fallbackPosition:{},ariaLabel:{},announceChanges:{type:Boolean},offset:{},delay:{},hoverDelay:{},teleportTo:{},overlayClass:{type:[Boolean,null,String,Object,Array]},panelClass:{type:[Boolean,null,String,Object,Array]},panelStyle:{type:[Boolean,null,String,Object,Array]},closeOnClickOutside:{type:Boolean},closeOnEscape:{type:Boolean},persistent:{type:Boolean},ariaLabelledby:{},ariaDescribedby:{},trapFocus:{type:Boolean},keepOpenOnHover:{type:Boolean},positionReference:{}},{modelValue:{default:!1},modelModifiers:{}}),emits:mergeModels([`menuitem-clicked`,`update:model-value`],[`update:modelValue`]),setup(__props,{emit:__emit}){let emits=__emit;let{size}=useGlobalConfig(`MazDropdown`,{size:`md`});let MazBtn=defineAsyncComponent(()=>import(`../components/MazBtn.js`));let MazIcon=defineAsyncComponent(()=>import(`../components/MazIcon.js`));let{iconProps:dropdownIconProps}=useMazIconProps(()=>__props.dropdownIcon??MazChevronDown);let instanceId=useInstanceUniqId({componentName:`MazDropdown`,providedId:__props.id});let{t}=useTranslations();let isOpen=useModel(__props,`modelValue`);let iconClassSize=computed(()=>size.value===`xl`?`maz:text-lg`:size.value===`lg`||size.value===`md`||size.value===`sm`?`maz:text-base`:size.value===`xs`||size.value===`mini`?`maz:text-sm`:`maz:text-lg`);function setDropdown(value){__props.disabled||(isOpen.value=value)}function isLinkItem(item){return`href`in item||`to`in item}function hasLinkOrAction(item){return isLinkItem(item)||`onClick`in item}async function runAction(item,event){emits(`menuitem-clicked`,event),await item.onClick?.(),closeDropdown()}function closeDropdown(){__props.closeOnClick&&setDropdown(!1)}function keydownHandler(event){[`ArrowDown`,`ArrowUp`].includes(event.key)?arrowHandler(event):event.key===`Enter`&&(event.preventDefault(),document.activeElement?.click(),closeDropdown())}function arrowHandler(event){event.preventDefault();let code=event.key;let itemLength=__props.items?.length;if(!itemLength)return;let currentElement=document.activeElement;let itemsElements=Array.from(document.querySelectorAll(`#${instanceId.value}-menu .menuitem`)).filter(el=>el.getAttribute(`tabindex`)!==`-1`);let currentIndex=[...itemsElements].indexOf(currentElement);if(currentIndex===-1){itemsElements[0]?.focus();return}itemsElements[code===`ArrowDown`?(currentIndex+1)%itemLength:(currentIndex-1+itemLength)%itemLength]?.focus()}let mazPopoverElement=useTemplateRef(`mazPopoverRef`);function onBlurTrigger(event){event.preventDefault(),!(mazPopoverElement.value?.panelRef)?.contains(event.relatedTarget)&&setDropdown(!1)}return watch(isOpen,value=>{isClient()&&(value?document.addEventListener(`keydown`,keydownHandler):document.removeEventListener(`keydown`,keydownHandler))}),(_ctx,_cache)=>(openBlock(),createBlock(MazPopover_default,{ref:`mazPopoverRef`,trigger:__props.trigger,"model-value":isOpen.value,class:normalizeClass([`m-dropdown m-reset-css`,[__props.class]]),role:`menu`,style:normalizeStyle(__props.style),"prefer-position":__props.preferPosition,color:`surface`,position:__props.position,transition:__props.transition,disabled:__props.disabled,offset:__props.offset,delay:__props.delay,"fallback-position":__props.fallbackPosition,persistent:__props.persistent,"hover-delay":__props.hoverDelay,"panel-class":__props.panelClass,"panel-style":__props.panelStyle,"close-on-escape":__props.closeOnEscape,"close-on-click":__props.closeOnClick,"teleport-to":__props.teleportTo,"trap-focus":__props.trapFocus,"overlay-class":__props.overlayClass,"close-on-click-outside":__props.closeOnClickOutside,"aria-describedby":__props.ariaDescribedby,"announce-changes":__props.announceChanges,"aria-label":__props.ariaLabel,"aria-labelledby":__props.ariaLabelledby,"position-reference":__props.positionReference,"keep-open-on-hover":__props.trigger===`hover`||__props.trigger===`adaptive`,block:__props.block,"onUpdate:modelValue":setDropdown},{trigger:withCtx(({toggle,close,open})=>[createElementVNode(`div`,{id:unref(instanceId),tabindex:`-1`,class:`m-dropdown__wrapper maz:size-full maz:rounded-md maz:outline-hidden maz:focus:bg-surface-600 maz:dark:focus:bg-surface-400`},[createElementVNode(`span`,{id:`${unref(instanceId)}-labelspan`,class:`maz:sr-only`},[renderSlot(_ctx.$slots,`screen-reader-description`,{},()=>[createTextVNode(toDisplayString(__props.screenReaderDescription||unref(t)(`dropdown.screenReaderDescription`)),1)],!0)],8,_hoisted_2),renderSlot(_ctx.$slots,`trigger`,{isOpen:isOpen.value,toggle,close,open},()=>[createVNode(unref(MazBtn),mergeProps({"aria-labelledby":`${unref(instanceId)}-labelspan`,color:__props.color,disabled:__props.disabled},_ctx.$attrs,{block:__props.block,size:unref(size),onKeydown:[withKeys(withModifiers(toggle,[`stop`,`prevent`]),[`enter`]),withKeys(withModifiers(toggle,[`stop`,`prevent`]),[`space`]),withKeys(withModifiers(close,[`stop`,`prevent`]),[`escape`])],onBlur:withModifiers(onBlurTrigger,[`stop`,`prevent`])}),createSlots({default:withCtx(()=>[renderSlot(_ctx.$slots,`default`,{},void 0,!0)]),_:2},[__props.chevron||unref(hasSlotContent)(_ctx.$slots[`dropdown-icon`])?{name:`end-icon`,fn:withCtx(()=>[renderSlot(_ctx.$slots,`dropdown-icon`,{isOpen:isOpen.value,toggle,close,open},()=>[unref(dropdownIconProps)?(openBlock(),createBlock(unref(MazIcon),mergeProps({key:0},unref(dropdownIconProps),{class:[[{"--open":isOpen.value&&__props.dropdownIconAnimation},iconClassSize.value],`m-dropdown__icon`]}),null,16,[`class`])):createCommentVNode(``,!0)],!0)]),key:`0`}:void 0]),1040,[`aria-labelledby`,`color`,`disabled`,`block`,`size`,`onKeydown`])],!0)],8,_hoisted_1)]),default:withCtx(({open,close,toggle})=>[createElementVNode(`div`,{id:`${unref(instanceId)}-menu`,role:`menu`,"aria-label":`Menu`,class:normalizeClass([`m-dropdown__menu maz:flex maz:min-h-max maz:min-w-max maz:flex-col maz:gap-1 maz:overflow-auto maz:p-2`,__props.menuPanelClass]),tabindex:`-1`,style:normalizeStyle(__props.menuPanelStyle)},[renderSlot(_ctx.$slots,`dropdown`,{items:__props.items,open,close,isOpen:isOpen.value,toggle},()=>[renderSlot(_ctx.$slots,`prepend-menu`,{isOpen:isOpen.value,open,close,toggle},void 0,!0),(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.items,(item,index)=>renderSlot(_ctx.$slots,`menuitem`,{key:index,item,open,close,isOpen:isOpen.value,toggle},()=>[createVNode(unref(MazBtn),mergeProps({ref_for:!0},{...item,onClick:void 0,label:void 0},{target:isLinkItem(item)?item.target??`_self`:void 0,to:isLinkItem(item)?item.to:void 0,href:isLinkItem(item)?item.href:void 0,class:[`menuitem`,[{"menuitem--hoverable":hasLinkOrAction(item)},item.class,isLinkItem(item)?`menuitem__link`:`menuitem__button`,`menuitem--${item.color}`]],justify:item.justify??`start`,color:item.color??`transparent`,size:__props.itemsSize??item.size??unref(size),disabled:item.disabled??!1,tabindex:hasLinkOrAction(item)?0:-1,onClick:withModifiers($event=>runAction(item,$event),[`stop`]),onKeypress:withKeys(withModifiers($event=>runAction(item,$event),[`stop`,`prevent`]),[`enter`])}),{default:withCtx(()=>[renderSlot(_ctx.$slots,`menuitem-label`,{item,open,close,isOpen:isOpen.value,toggle},()=>[createTextVNode(toDisplayString(item.label),1)],!0)]),_:2},1040,[`target`,`to`,`href`,`class`,`justify`,`color`,`size`,`disabled`,`tabindex`,`onClick`,`onKeypress`])],!0)),128)),renderSlot(_ctx.$slots,`append-menu`,{isOpen:isOpen.value,open,close,toggle},void 0,!0)],!0)],14,_hoisted_3)]),_:3},8,`trigger.model-value.style.prefer-position.position.transition.disabled.offset.delay.fallback-position.persistent.hover-delay.panel-class.panel-style.close-on-escape.close-on-click.teleport-to.trap-focus.overlay-class.close-on-click-outside.aria-describedby.announce-changes.aria-label.aria-labelledby.position-reference.keep-open-on-hover.class.block`.split(`.`)))}}),[[`__scopeId`,`data-v-fb02821a`]]);export{MazDropdown_default as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useInstanceUniqId}from"../composables/useInstanceUniqId.js";import{t as _plugin_vue_export_helper_default}from"./_plugin-vue_export-helper.zP_plvmB.js";import{useDropzone}from"../composables/useDropzone.js";import{t as MazIcon_default}from"./MazIcon.CblJ-8Iu.js";import{t as MazLink_default}from"./MazLink.CemC1AR_.js";import{t as MazBtn_default}from"./MazBtn.DOoL5s3h.js";import{Fragment,Transition,TransitionGroup,computed,createBlock,createCommentVNode,createElementBlock,createElementVNode,createTextVNode,createVNode,defineAsyncComponent,defineComponent,mergeModels,mergeProps,normalizeClass,normalizeStyle,onBeforeMount,openBlock,ref,renderList,renderSlot,toDisplayString,unref,useModel,withCtx,withModifiers}from"vue";import{useTranslations}from"@maz-ui/translations/composables/useTranslations";import{sleep}from"@maz-ui/utils/helpers/sleep";import{MazCheckCircle}from"@maz-ui/icons/lazy/MazCheckCircle";import{MazCodeBracket}from"@maz-ui/icons/lazy/MazCodeBracket";import{MazPhoto}from"@maz-ui/icons/lazy/MazPhoto";import{MazArchiveBox}from"@maz-ui/icons/lazy/MazArchiveBox";import{MazArrowUpOnSquare}from"@maz-ui/icons/lazy/MazArrowUpOnSquare";import{MazCog}from"@maz-ui/icons/lazy/MazCog";import{MazCommandLine}from"@maz-ui/icons/lazy/MazCommandLine";import{MazDocumentIcon}from"@maz-ui/icons/lazy/MazDocumentIcon";import{MazDocumentText}from"@maz-ui/icons/lazy/MazDocumentText";import{MazFilm}from"@maz-ui/icons/lazy/MazFilm";import{MazLogoAndroid}from"@maz-ui/icons/lazy/MazLogoAndroid";import{MazLogoApple}from"@maz-ui/icons/lazy/MazLogoApple";import{MazLogoCsv}from"@maz-ui/icons/lazy/MazLogoCsv";import{MazLogoHtml}from"@maz-ui/icons/lazy/MazLogoHtml";import{MazLogoJs}from"@maz-ui/icons/lazy/MazLogoJs";import{MazLogoJson}from"@maz-ui/icons/lazy/MazLogoJson";import{MazLogoMarkdown}from"@maz-ui/icons/lazy/MazLogoMarkdown";import{MazLogoProperties}from"@maz-ui/icons/lazy/MazLogoProperties";import{MazLogoReact}from"@maz-ui/icons/lazy/MazLogoReact";import{MazLogoTxt}from"@maz-ui/icons/lazy/MazLogoTxt";import{MazLogoTypescript}from"@maz-ui/icons/lazy/MazLogoTypescript";import{MazLogoVue}from"@maz-ui/icons/lazy/MazLogoVue";import{MazLogoXliff}from"@maz-ui/icons/lazy/MazLogoXliff";import{MazLogoXls}from"@maz-ui/icons/lazy/MazLogoXls";import{MazLogoXml}from"@maz-ui/icons/lazy/MazLogoXml";import{MazPaintBrush}from"@maz-ui/icons/lazy/MazPaintBrush";import{MazPencilSquare}from"@maz-ui/icons/lazy/MazPencilSquare";import{MazPresentationChartBar}from"@maz-ui/icons/lazy/MazPresentationChartBar";import{MazSpeakerWave}from"@maz-ui/icons/lazy/MazSpeakerWave";import{MazTrash}from"@maz-ui/icons/lazy/MazTrash";import{MazXCircle}from"@maz-ui/icons/lazy/MazXCircle";import '../assets/MazDropzone._IzxepXc.css';var _hoisted_1=[`for`];var _hoisted_2={class:`m-dropzone__icon-container`};var _hoisted_3={key:3,class:`m-dropzone__file-icon-wrapper`};var _hoisted_4={class:`m-dropzone__description`};var _hoisted_5={class:`m-dropzone__file-info`};var _hoisted_6={class:`m-dropzone__file-name`};var _hoisted_7={class:`m-dropzone__file-size`};var _hoisted_8={class:`m-dropzone__content`};var _hoisted_9={class:`m-dropzone__upload-text`};var _hoisted_10={key:0,class:`m-dropzone__info-text`};var _hoisted_11={key:0};var _hoisted_12={key:1};var _hoisted_13={key:2};var _hoisted_14=[`id`,`multiple`,`accept`,`disabled`];var MazDropzone_default=_plugin_vue_export_helper_default(defineComponent({__name:`MazDropzone`,props:mergeModels({id:{},multiple:{type:Boolean,default:!1},dataTypes:{},preventDefaultForUnhandled:{type:Boolean,default:!0},maxFileSize:{},maxFiles:{},disabled:{type:Boolean,default:!1},preview:{type:Boolean,default:!0},minFileSize:{},allowDuplicates:{type:Boolean,default:!1},translations:{},color:{default:`primary`},removeFileBtnProps:{default:()=>({})},spinnerProps:{default:()=>({})},autoUpload:{type:[String,Boolean],default:!1},url:{},requestOptions:{},transformBody:{type:Function},maxConcurrentUploads:{default:5}},{modelValue:{default:()=>[]},modelModifiers:{}}),emits:mergeModels([`drop`,`enter`,`leave`,`over`,`add`,`remove`,`error`,`upload-error`,`upload-error-multiple`,`upload-success`,`upload-success-multiple`],[`update:modelValue`]),setup(__props,{expose:__expose,emit:__emit}){let emits=__emit;let MazSpinner=defineAsyncComponent(()=>import(`../components/MazSpinner.js`));let filesData=useModel(__props,`modelValue`);onBeforeMount(async()=>{filesData.value.length&&(filesData.value=await Promise.all(filesData.value.map(fileData=>getFileData(fileData.file))))});let dropZoneRef=ref();let isUploading=ref(!1);let hasMultiple=computed(()=>__props.multiple||(__props.maxFiles?__props.maxFiles>1:!1)||__props.autoUpload===`multiple`);let instanceId=useInstanceUniqId({componentName:`MazDropzone`,providedId:__props.id});function uploadFile(formData){if(!__props.url)throw emits(`error`,{files:null,event:null,code:`NO_URL`}),Error(`NO_URL`);try{let body=__props.transformBody?.(formData)??formData;return fetch(__props.url,{method:`POST`,body,...__props.requestOptions})}catch{emits(`error`,{files:null,event:null,code:`FILE_UPLOAD_ERROR`})}}function getFormData(file){let formData=new FormData;return formData.append(`file`,file),formData}function getFormDataMultiple(){let formData=new FormData;return filesData.value.forEach(fileData=>formData.append(`files`,fileData.file)),formData}async function uploadFilesMultiple(){if(!filesData.value.length){emits(`error`,{files:filesData.value.map(f=>f.file),event:null,code:`NO_FILES_TO_UPLOAD`});return}try{isUploading.value=!0,filesData.value=filesData.value.map(f=>({...f,uploading:!0,success:!1,error:!1}));let response=await uploadFile(getFormDataMultiple());filesData.value=filesData.value.map(f=>({...f,uploading:!1,success:!0,error:!1})),emits(`upload-success-multiple`,{files:filesData.value.map(f=>f.file),response})}catch(error){filesData.value=filesData.value.map(f=>({...f,uploading:!1,success:!1,error:!0})),emits(`upload-error-multiple`,{files:filesData.value.map(f=>f.file),code:`FILE_UPLOAD_ERROR_MULTIPLE`,error})}finally{isUploading.value=!1,await sleep(1e3),filesData.value=filesData.value.filter(f=>f.error)}}async function uploadFiles(){if(!filesData.value.length)throw emits(`error`,{files:filesData.value.map(f=>f.file),event:null,code:`NO_FILES_TO_UPLOAD`}),Error(`NO_FILES_TO_UPLOAD`);try{isUploading.value=!0;let queue=[...filesData.value];let activeUploads=[];async function uploadFileData(fileData){let formData=getFormData(fileData.file);try{fileData.error=!1,fileData.uploading=!0;let response=await uploadFile(formData);emits(`upload-success`,{file:fileData.file,response}),fileData.success=!0}catch(error){fileData.error=!0,emits(`upload-error`,{file:fileData.file,code:`FILE_UPLOAD_ERROR`,error})}finally{fileData.uploading=!1}}async function processQueue(){for(;queue.length>0;){let fileData=queue.shift();fileData&&await uploadFileData(fileData)}}for(let i=0;i<Math.min(__props.maxConcurrentUploads,filesData.value.length);i++)activeUploads.push(processQueue());await Promise.allSettled(activeUploads)}finally{isUploading.value=!1,await sleep(1e3),filesData.value=filesData.value.filter(f=>f.error)}}async function getFileData(file){let fileData={file,name:file.name,size:file.size,type:file.type,lastModified:file.lastModified,sizeInMb:(file.size/1024/1024).toFixed(2),lastModifiedDate:new Date(file.lastModified),url:URL.createObjectURL(file),thumbnail:void 0,uploading:!1,success:!1,error:!1};return file.type.startsWith(`image/`)&&await new Promise(resolve=>{let reader=new FileReader;reader.onload=event=>{fileData.thumbnail=event.target?.result||void 0,resolve(null)},reader.readAsDataURL(file)}),__props.maxFileSize&&file.size>__props.maxFileSize*1024*1024&&emits(`error`,{files:[file],event:null,code:`FILE_SIZE_EXCEEDED`}),__props.minFileSize&&file.size<__props.minFileSize*1024*1024&&emits(`error`,{files:[file],event:null,code:`FILE_SIZE_TOO_SMALL`}),fileData}async function handleFiles(files){if(__props.disabled||!files)return null;for await(let file of files){if(!isFileTypeAllowed(file)){emits(`error`,{files:[file],event:null,code:`FILE_TYPE_NOT_ALLOWED`});continue}if(!hasMultiple.value&&filesData.value.length>=1){emits(`error`,{files:[file],event:null,code:`MAX_FILES_EXCEEDED`});continue}if(__props.maxFiles&&filesData.value.length>=__props.maxFiles){emits(`error`,{files:[file],event:null,code:`MAX_FILES_EXCEEDED`});continue}if(__props.maxFileSize&&file.size>__props.maxFileSize*1024*1024){emits(`error`,{files:[file],event:null,code:`FILE_SIZE_EXCEEDED`});continue}if(__props.minFileSize&&file.size<__props.minFileSize*1024*1024){emits(`error`,{files:[file],event:null,code:`FILE_SIZE_TOO_SMALL`});continue}if(!__props.allowDuplicates&&filesData.value.some(f=>f.name===file.name&&f.size===file.size&&f.type===file.type)){emits(`error`,{files:[file],event:null,code:`FILE_DUPLICATED`});continue}let fileData=await getFileData(file);filesData.value=[...filesData.value,fileData],emits(`add`,fileData.file)}return __props.autoUpload===`single`?uploadFiles():__props.autoUpload===`multiple`&&uploadFilesMultiple(),filesData.value}async function onDrop(files,event){await handleFiles(files),emits(`drop`,{files,event})}function onError(files,event){emits(`error`,{files,event,code:`FILE_TYPE_NOT_ALLOWED`})}function onEnter(files,event){emits(`enter`,{files,event})}function onLeave(files,event){emits(`leave`,{files,event})}function onOver(files,event){emits(`over`,{files,event})}let{isOverDropZone,isOverError}=useDropzone(dropZoneRef,{dataTypes:__props.dataTypes,onDrop,preventDefaultForUnhandled:__props.preventDefaultForUnhandled,multiple:hasMultiple.value,onError,onEnter,onLeave,onOver});let fileInput=ref();function handleFileUpload(event){let input=event.target;let files=input?.files;files&&handleFiles(files),setTimeout(()=>{input.value=``},3e3)}let extensionIconMap=(()=>{let map=new Map;let groups=[[MazLogoJs,[`js`,`mjs`,`cjs`]],[MazLogoTypescript,[`ts`,`tsx`,`mts`,`cts`]],[MazLogoVue,[`vue`]],[MazLogoReact,[`jsx`]],[MazLogoJson,[`json`,`jsonc`,`json5`]],[MazLogoXml,[`xml`]],[MazLogoHtml,[`html`,`htm`]],[MazLogoMarkdown,[`md`,`markdown`,`mdx`]],[MazLogoProperties,[`properties`]],[MazLogoTxt,[`txt`]],[MazLogoCsv,[`csv`]],[MazLogoXls,[`xls`,`xlsx`]],[MazLogoXliff,[`xliff`,`xlf`]],[MazLogoApple,[`strings`,`stringsdict`,`xcstrings`]],[MazLogoAndroid,[`apk`]],[MazPhoto,[`jpeg`,`jpg`,`png`,`tiff`,`bmp`,`webp`,`svg`,`ico`,`gif`,`heic`,`heif`,`avif`]],[MazFilm,[`mp4`,`webm`,`avi`,`mov`,`mkv`,`flv`,`wmv`,`m4v`,`mpeg`,`mpg`,`3gp`,`ogv`]],[MazSpeakerWave,[`mp3`,`wav`,`m4a`,`aac`,`flac`,`ogg`,`oga`,`opus`,`wma`,`alac`,`aiff`]],[MazArchiveBox,[`zip`,`rar`,`tar`,`gz`,`7z`,`bz2`,`xz`]],[MazCommandLine,[`exe`,`dll`,`so`,`dylib`,`dmg`,`deb`,`rpm`,`app`,`bat`,`cmd`]],[MazCodeBracket,`css.scss.sass.less.py.java.cpp.c.h.hpp.go.rs.rust.php.rb.swift.kt.kotlin.sql.sh.bash.zsh.yaml.yml.toml.ini`.split(`.`)],[MazCog,[`conf`,`config`,`env`,`cfg`]],[MazPresentationChartBar,[`ppt`,`pptx`,`key`,`odp`]],[MazDocumentText,[`rtf`,`odt`]],[MazPencilSquare,[`ttf`,`otf`,`woff`,`woff2`,`eot`]],[MazPaintBrush,[`ai`,`psd`,`sketch`,`fig`,`xd`,`eps`]],[MazDocumentIcon,[`pdf`,`doc`,`docx`,`tsv`,`document`]]];for(let[icon,extensions]of groups)for(let ext of extensions)map.set(ext,icon);return map})();function getIconComponent(fileData){let type=fileData.file.type.split(`/`)?.[1]?.split(`+`)?.[0]?.toLowerCase();let extension=fileData.file.name.split(`.`).pop()?.toLowerCase();return extensionIconMap.get(type)||extension&&extensionIconMap.get(extension)||extensionIconMap.get(`document`)}function handleFileInputClick(){fileInput.value&&fileInput.value.click()}function handleFileRemove(fileData){fileData.url&&URL.revokeObjectURL(fileData.url),filesData.value=filesData.value.filter(f=>f.file!==fileData.file),emits(`remove`,fileData.file)}let selectAreaCanBeDisplayed=ref(!0);let dataTypesString=computed(()=>__props.dataTypes?.map(formatReadable).join(`, `));let allFileIsAccepted=computed(()=>__props.dataTypes?.length===1&&__props.dataTypes[0]===`*/*`);let{t}=useTranslations();let messages=computed(()=>{let customTranslations=__props.translations||{};return{dragAndDrop:customTranslations.dragAndDrop??t(`dropzone.dragAndDrop`),fileMaxCount:__props.maxFiles?customTranslations.fileMaxCount??t(`dropzone.fileMaxCount`,{count:__props.maxFiles}):void 0,fileMaxSize:__props.maxFileSize?customTranslations.fileMaxSize??t(`dropzone.fileMaxSize`,{size:__props.maxFileSize}):void 0,fileTypes:dataTypesString.value?customTranslations.fileTypes??t(`dropzone.fileTypes`,{types:dataTypesString.value}):void 0,selectFile:customTranslations.selectFile??t(`dropzone.selectFile`),divider:customTranslations.divider??t(`dropzone.divider`)}});function formatReadable(fmt){if(fmt.startsWith(`.`))return fmt;if(fmt.includes(`/`)){let[type,subtype]=fmt.split(`/`);if(subtype===`*`){let customTypes=__props.translations?.types||{};switch(type){case`image`:return customTypes.image??t(`dropzone.types.image`);case`video`:return customTypes.video??t(`dropzone.types.video`);case`audio`:return customTypes.audio??t(`dropzone.types.audio`);case`text`:return customTypes.text??t(`dropzone.types.text`);default:return fmt}}return subtype}return fmt}function reset(){filesData.value.forEach(fileData=>{fileData.url&&URL.revokeObjectURL(fileData.url)}),filesData.value=[]}function addFile(file){handleFiles([file])}function removeFile(file){filesData.value=filesData.value.filter(f=>f.file!==file)}function isFileTypeAllowed(file){return!__props.dataTypes||__props.dataTypes.includes(`*/*`)?!0:__props.dataTypes.some(type=>type.startsWith(`.`)?file.name.toLowerCase().endsWith(type.toLowerCase()):type.endsWith(`/*`)?file.type.startsWith(type.slice(0,-1)):file.type===type)}return __expose({uploadFiles,uploadFilesMultiple,getFormData,getFormDataMultiple,reset,isUploading,addFile,removeFile}),(_ctx,_cache)=>(openBlock(),createElementBlock(`label`,{ref_key:`dropZoneRef`,ref:dropZoneRef,role:`button`,tabindex:`0`,for:`input-file-uploader-${unref(instanceId)}`,class:normalizeClass([`m-dropzone m-reset-css maz:flex maz:w-full maz:cursor-pointer maz:flex-col maz:flex-center maz:gap-2 maz:overflow-hidden maz:rounded-md maz:border maz:border-dashed maz:border-divider maz:bg-input maz:p-6 maz:transition-colors maz:duration-200 maz:ease-in-out maz:hover:bg-surface-600/50 maz:dark:hover:bg-surface-400/50`,{"m-dropzone--disabled maz:disabled-state":__props.disabled,"m-dropzone--is-over-drop-zone":unref(isOverDropZone)&&!unref(isOverError),"m-dropzone--is-over-error":unref(isOverError)}]),style:normalizeStyle({"--active-color":`var(--maz-${__props.color})`})},[renderSlot(_ctx.$slots,`files-area`,{filesData:filesData.value},()=>[createVNode(TransitionGroup,{name:`file-scale`,tag:`div`,class:`m-dropzone__files-container`,onBeforeEnter:_cache[1]||=$event=>selectAreaCanBeDisplayed.value=!1,onAfterLeave:_cache[2]||=$event=>selectAreaCanBeDisplayed.value=filesData.value.length===0},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(filesData.value,file=>(openBlock(),createElementBlock(`div`,{key:`${file.name}-${file.size}-${file}`,class:`m-dropzone__file-item group`,onClick:_cache[0]||=withModifiers(()=>{},[`prevent`])},[renderSlot(_ctx.$slots,`file-item`,{file},()=>[file.thumbnail&&__props.preview?(openBlock(),createElementBlock(Fragment,{key:0},[createElementVNode(`div`,{style:normalizeStyle({backgroundImage:`url(${file.thumbnail})`,backgroundSize:`cover`,backgroundPosition:`center`}),class:`m-dropzone__thumbnail`},null,4),_cache[4]||=createElementVNode(`div`,{class:`m-dropzone__overlay`},null,-1)],64)):createCommentVNode(``,!0),createElementVNode(`div`,_hoisted_2,[createVNode(Transition,{name:`icon-scale`},{default:withCtx(()=>[file.uploading?(openBlock(),createBlock(unref(MazSpinner),mergeProps({key:0,color:__props.color,class:`m-dropzone__spinner`},{ref_for:!0},__props.spinnerProps),null,16,[`color`])):file.success?(openBlock(),createBlock(unref(MazCheckCircle),{key:1,class:`m-dropzone__success-icon`})):file.error?(openBlock(),createBlock(unref(MazXCircle),{key:2,class:`m-dropzone__error-icon`})):(openBlock(),createElementBlock(`div`,_hoisted_3,[createVNode(MazIcon_default,{icon:getIconComponent(file),size:`lg`,class:`m-dropzone__file-icon`},null,8,[`icon`])]))]),_:2},1024)]),createElementVNode(`div`,_hoisted_4,[createElementVNode(`div`,_hoisted_5,[createElementVNode(`span`,_hoisted_6,toDisplayString(file.name),1),createElementVNode(`span`,_hoisted_7,toDisplayString(file.sizeInMb)+` MB`,1)]),!file.uploading&&!file.success?(openBlock(),createBlock(MazBtn_default,mergeProps({key:0,size:`xs`,icon:unref(MazTrash),disabled:__props.disabled,color:`destructive`,pastel:``},{ref_for:!0},__props.removeFileBtnProps,{onClick:withModifiers($event=>handleFileRemove(file),[`prevent`])}),null,16,[`icon`,`disabled`,`onClick`])):createCommentVNode(``,!0)])],!0)]))),128))]),_:3})],!0),filesData.value.length===0&&selectAreaCanBeDisplayed.value?renderSlot(_ctx.$slots,`no-files-area`,{key:0,selectFile:handleFileInputClick},()=>[createElementVNode(`div`,_hoisted_8,[renderSlot(_ctx.$slots,`upload-icon`,{},()=>[createVNode(unref(MazArrowUpOnSquare),{class:`m-dropzone__upload-icon`})],!0),createElementVNode(`span`,_hoisted_9,[createTextVNode(toDisplayString(messages.value.dragAndDrop)+` `+toDisplayString(messages.value.divider)+` `,1),createVNode(MazLink_default,{color:`inherit`,underline:``,onClick:_cache[3]||=withModifiers($event=>!__props.disabled&&handleFileInputClick(),[`prevent`])},{default:withCtx(()=>[createTextVNode(toDisplayString(messages.value.selectFile),1)]),_:1})])]),!allFileIsAccepted.value&&(messages.value.fileMaxCount||messages.value.fileMaxSize||messages.value.fileTypes)?(openBlock(),createElementBlock(`p`,_hoisted_10,[messages.value.fileMaxCount?(openBlock(),createElementBlock(`span`,_hoisted_11,toDisplayString(messages.value.fileMaxCount),1)):createCommentVNode(``,!0),messages.value.fileMaxSize?(openBlock(),createElementBlock(`span`,_hoisted_12,toDisplayString(messages.value.fileMaxSize),1)):createCommentVNode(``,!0),messages.value.fileTypes?(openBlock(),createElementBlock(`span`,_hoisted_13,toDisplayString(messages.value.fileTypes),1)):createCommentVNode(``,!0)])):createCommentVNode(``,!0)],!0):createCommentVNode(``,!0),createElementVNode(`input`,{id:`input-file-uploader-${unref(instanceId)}`,ref_key:`fileInput`,ref:fileInput,multiple:hasMultiple.value,type:`file`,accept:__props.dataTypes?.join(`,`),tabindex:`-1`,disabled:__props.disabled,class:`m-dropzone__file-input`,onChange:handleFileUpload},null,40,_hoisted_14)],14,_hoisted_1))}}),[[`__scopeId`,`data-v-b607dd3b`]]);export{MazDropzone_default as t};
|
|
1
|
+
import{useInstanceUniqId}from"../composables/useInstanceUniqId.js";import{t as _plugin_vue_export_helper_default}from"./_plugin-vue_export-helper.zP_plvmB.js";import{useDropzone}from"../composables/useDropzone.js";import{t as MazIcon_default}from"./MazIcon.CblJ-8Iu.js";import{t as MazLink_default}from"./MazLink.CemC1AR_.js";import{t as MazBtn_default}from"./MazBtn.C7LV-iX2.js";import{Fragment,Transition,TransitionGroup,computed,createBlock,createCommentVNode,createElementBlock,createElementVNode,createTextVNode,createVNode,defineAsyncComponent,defineComponent,mergeModels,mergeProps,normalizeClass,normalizeStyle,onBeforeMount,openBlock,ref,renderList,renderSlot,toDisplayString,unref,useModel,withCtx,withModifiers}from"vue";import{useTranslations}from"@maz-ui/translations/composables/useTranslations";import{sleep}from"@maz-ui/utils/helpers/sleep";import{MazCheckCircle}from"@maz-ui/icons/lazy/MazCheckCircle";import{MazCodeBracket}from"@maz-ui/icons/lazy/MazCodeBracket";import{MazPhoto}from"@maz-ui/icons/lazy/MazPhoto";import{MazArchiveBox}from"@maz-ui/icons/lazy/MazArchiveBox";import{MazArrowUpOnSquare}from"@maz-ui/icons/lazy/MazArrowUpOnSquare";import{MazCog}from"@maz-ui/icons/lazy/MazCog";import{MazCommandLine}from"@maz-ui/icons/lazy/MazCommandLine";import{MazDocumentIcon}from"@maz-ui/icons/lazy/MazDocumentIcon";import{MazDocumentText}from"@maz-ui/icons/lazy/MazDocumentText";import{MazFilm}from"@maz-ui/icons/lazy/MazFilm";import{MazLogoAndroid}from"@maz-ui/icons/lazy/MazLogoAndroid";import{MazLogoApple}from"@maz-ui/icons/lazy/MazLogoApple";import{MazLogoCsv}from"@maz-ui/icons/lazy/MazLogoCsv";import{MazLogoHtml}from"@maz-ui/icons/lazy/MazLogoHtml";import{MazLogoJs}from"@maz-ui/icons/lazy/MazLogoJs";import{MazLogoJson}from"@maz-ui/icons/lazy/MazLogoJson";import{MazLogoMarkdown}from"@maz-ui/icons/lazy/MazLogoMarkdown";import{MazLogoProperties}from"@maz-ui/icons/lazy/MazLogoProperties";import{MazLogoReact}from"@maz-ui/icons/lazy/MazLogoReact";import{MazLogoTxt}from"@maz-ui/icons/lazy/MazLogoTxt";import{MazLogoTypescript}from"@maz-ui/icons/lazy/MazLogoTypescript";import{MazLogoVue}from"@maz-ui/icons/lazy/MazLogoVue";import{MazLogoXliff}from"@maz-ui/icons/lazy/MazLogoXliff";import{MazLogoXls}from"@maz-ui/icons/lazy/MazLogoXls";import{MazLogoXml}from"@maz-ui/icons/lazy/MazLogoXml";import{MazPaintBrush}from"@maz-ui/icons/lazy/MazPaintBrush";import{MazPencilSquare}from"@maz-ui/icons/lazy/MazPencilSquare";import{MazPresentationChartBar}from"@maz-ui/icons/lazy/MazPresentationChartBar";import{MazSpeakerWave}from"@maz-ui/icons/lazy/MazSpeakerWave";import{MazTrash}from"@maz-ui/icons/lazy/MazTrash";import{MazXCircle}from"@maz-ui/icons/lazy/MazXCircle";import '../assets/MazDropzone._IzxepXc.css';var _hoisted_1=[`for`];var _hoisted_2={class:`m-dropzone__icon-container`};var _hoisted_3={key:3,class:`m-dropzone__file-icon-wrapper`};var _hoisted_4={class:`m-dropzone__description`};var _hoisted_5={class:`m-dropzone__file-info`};var _hoisted_6={class:`m-dropzone__file-name`};var _hoisted_7={class:`m-dropzone__file-size`};var _hoisted_8={class:`m-dropzone__content`};var _hoisted_9={class:`m-dropzone__upload-text`};var _hoisted_10={key:0,class:`m-dropzone__info-text`};var _hoisted_11={key:0};var _hoisted_12={key:1};var _hoisted_13={key:2};var _hoisted_14=[`id`,`multiple`,`accept`,`disabled`];var MazDropzone_default=_plugin_vue_export_helper_default(defineComponent({__name:`MazDropzone`,props:mergeModels({id:{},multiple:{type:Boolean,default:!1},dataTypes:{},preventDefaultForUnhandled:{type:Boolean,default:!0},maxFileSize:{},maxFiles:{},disabled:{type:Boolean,default:!1},preview:{type:Boolean,default:!0},minFileSize:{},allowDuplicates:{type:Boolean,default:!1},translations:{},color:{default:`primary`},removeFileBtnProps:{default:()=>({})},spinnerProps:{default:()=>({})},autoUpload:{type:[String,Boolean],default:!1},url:{},requestOptions:{},transformBody:{type:Function},maxConcurrentUploads:{default:5}},{modelValue:{default:()=>[]},modelModifiers:{}}),emits:mergeModels([`drop`,`enter`,`leave`,`over`,`add`,`remove`,`error`,`upload-error`,`upload-error-multiple`,`upload-success`,`upload-success-multiple`],[`update:modelValue`]),setup(__props,{expose:__expose,emit:__emit}){let emits=__emit;let MazSpinner=defineAsyncComponent(()=>import(`../components/MazSpinner.js`));let filesData=useModel(__props,`modelValue`);onBeforeMount(async()=>{filesData.value.length&&(filesData.value=await Promise.all(filesData.value.map(fileData=>getFileData(fileData.file))))});let dropZoneRef=ref();let isUploading=ref(!1);let hasMultiple=computed(()=>__props.multiple||(__props.maxFiles?__props.maxFiles>1:!1)||__props.autoUpload===`multiple`);let instanceId=useInstanceUniqId({componentName:`MazDropzone`,providedId:__props.id});function uploadFile(formData){if(!__props.url)throw emits(`error`,{files:null,event:null,code:`NO_URL`}),Error(`NO_URL`);try{let body=__props.transformBody?.(formData)??formData;return fetch(__props.url,{method:`POST`,body,...__props.requestOptions})}catch{emits(`error`,{files:null,event:null,code:`FILE_UPLOAD_ERROR`})}}function getFormData(file){let formData=new FormData;return formData.append(`file`,file),formData}function getFormDataMultiple(){let formData=new FormData;return filesData.value.forEach(fileData=>formData.append(`files`,fileData.file)),formData}async function uploadFilesMultiple(){if(!filesData.value.length){emits(`error`,{files:filesData.value.map(f=>f.file),event:null,code:`NO_FILES_TO_UPLOAD`});return}try{isUploading.value=!0,filesData.value=filesData.value.map(f=>({...f,uploading:!0,success:!1,error:!1}));let response=await uploadFile(getFormDataMultiple());filesData.value=filesData.value.map(f=>({...f,uploading:!1,success:!0,error:!1})),emits(`upload-success-multiple`,{files:filesData.value.map(f=>f.file),response})}catch(error){filesData.value=filesData.value.map(f=>({...f,uploading:!1,success:!1,error:!0})),emits(`upload-error-multiple`,{files:filesData.value.map(f=>f.file),code:`FILE_UPLOAD_ERROR_MULTIPLE`,error})}finally{isUploading.value=!1,await sleep(1e3),filesData.value=filesData.value.filter(f=>f.error)}}async function uploadFiles(){if(!filesData.value.length)throw emits(`error`,{files:filesData.value.map(f=>f.file),event:null,code:`NO_FILES_TO_UPLOAD`}),Error(`NO_FILES_TO_UPLOAD`);try{isUploading.value=!0;let queue=[...filesData.value];let activeUploads=[];async function uploadFileData(fileData){let formData=getFormData(fileData.file);try{fileData.error=!1,fileData.uploading=!0;let response=await uploadFile(formData);emits(`upload-success`,{file:fileData.file,response}),fileData.success=!0}catch(error){fileData.error=!0,emits(`upload-error`,{file:fileData.file,code:`FILE_UPLOAD_ERROR`,error})}finally{fileData.uploading=!1}}async function processQueue(){for(;queue.length>0;){let fileData=queue.shift();fileData&&await uploadFileData(fileData)}}for(let i=0;i<Math.min(__props.maxConcurrentUploads,filesData.value.length);i++)activeUploads.push(processQueue());await Promise.allSettled(activeUploads)}finally{isUploading.value=!1,await sleep(1e3),filesData.value=filesData.value.filter(f=>f.error)}}async function getFileData(file){let fileData={file,name:file.name,size:file.size,type:file.type,lastModified:file.lastModified,sizeInMb:(file.size/1024/1024).toFixed(2),lastModifiedDate:new Date(file.lastModified),url:URL.createObjectURL(file),thumbnail:void 0,uploading:!1,success:!1,error:!1};return file.type.startsWith(`image/`)&&await new Promise(resolve=>{let reader=new FileReader;reader.onload=event=>{fileData.thumbnail=event.target?.result||void 0,resolve(null)},reader.readAsDataURL(file)}),__props.maxFileSize&&file.size>__props.maxFileSize*1024*1024&&emits(`error`,{files:[file],event:null,code:`FILE_SIZE_EXCEEDED`}),__props.minFileSize&&file.size<__props.minFileSize*1024*1024&&emits(`error`,{files:[file],event:null,code:`FILE_SIZE_TOO_SMALL`}),fileData}async function handleFiles(files){if(__props.disabled||!files)return null;for await(let file of files){if(!isFileTypeAllowed(file)){emits(`error`,{files:[file],event:null,code:`FILE_TYPE_NOT_ALLOWED`});continue}if(!hasMultiple.value&&filesData.value.length>=1){emits(`error`,{files:[file],event:null,code:`MAX_FILES_EXCEEDED`});continue}if(__props.maxFiles&&filesData.value.length>=__props.maxFiles){emits(`error`,{files:[file],event:null,code:`MAX_FILES_EXCEEDED`});continue}if(__props.maxFileSize&&file.size>__props.maxFileSize*1024*1024){emits(`error`,{files:[file],event:null,code:`FILE_SIZE_EXCEEDED`});continue}if(__props.minFileSize&&file.size<__props.minFileSize*1024*1024){emits(`error`,{files:[file],event:null,code:`FILE_SIZE_TOO_SMALL`});continue}if(!__props.allowDuplicates&&filesData.value.some(f=>f.name===file.name&&f.size===file.size&&f.type===file.type)){emits(`error`,{files:[file],event:null,code:`FILE_DUPLICATED`});continue}let fileData=await getFileData(file);filesData.value=[...filesData.value,fileData],emits(`add`,fileData.file)}return __props.autoUpload===`single`?uploadFiles():__props.autoUpload===`multiple`&&uploadFilesMultiple(),filesData.value}async function onDrop(files,event){await handleFiles(files),emits(`drop`,{files,event})}function onError(files,event){emits(`error`,{files,event,code:`FILE_TYPE_NOT_ALLOWED`})}function onEnter(files,event){emits(`enter`,{files,event})}function onLeave(files,event){emits(`leave`,{files,event})}function onOver(files,event){emits(`over`,{files,event})}let{isOverDropZone,isOverError}=useDropzone(dropZoneRef,{dataTypes:__props.dataTypes,onDrop,preventDefaultForUnhandled:__props.preventDefaultForUnhandled,multiple:hasMultiple.value,onError,onEnter,onLeave,onOver});let fileInput=ref();function handleFileUpload(event){let input=event.target;let files=input?.files;files&&handleFiles(files),setTimeout(()=>{input.value=``},3e3)}let extensionIconMap=(()=>{let map=new Map;let groups=[[MazLogoJs,[`js`,`mjs`,`cjs`]],[MazLogoTypescript,[`ts`,`tsx`,`mts`,`cts`]],[MazLogoVue,[`vue`]],[MazLogoReact,[`jsx`]],[MazLogoJson,[`json`,`jsonc`,`json5`]],[MazLogoXml,[`xml`]],[MazLogoHtml,[`html`,`htm`]],[MazLogoMarkdown,[`md`,`markdown`,`mdx`]],[MazLogoProperties,[`properties`]],[MazLogoTxt,[`txt`]],[MazLogoCsv,[`csv`]],[MazLogoXls,[`xls`,`xlsx`]],[MazLogoXliff,[`xliff`,`xlf`]],[MazLogoApple,[`strings`,`stringsdict`,`xcstrings`]],[MazLogoAndroid,[`apk`]],[MazPhoto,[`jpeg`,`jpg`,`png`,`tiff`,`bmp`,`webp`,`svg`,`ico`,`gif`,`heic`,`heif`,`avif`]],[MazFilm,[`mp4`,`webm`,`avi`,`mov`,`mkv`,`flv`,`wmv`,`m4v`,`mpeg`,`mpg`,`3gp`,`ogv`]],[MazSpeakerWave,[`mp3`,`wav`,`m4a`,`aac`,`flac`,`ogg`,`oga`,`opus`,`wma`,`alac`,`aiff`]],[MazArchiveBox,[`zip`,`rar`,`tar`,`gz`,`7z`,`bz2`,`xz`]],[MazCommandLine,[`exe`,`dll`,`so`,`dylib`,`dmg`,`deb`,`rpm`,`app`,`bat`,`cmd`]],[MazCodeBracket,`css.scss.sass.less.py.java.cpp.c.h.hpp.go.rs.rust.php.rb.swift.kt.kotlin.sql.sh.bash.zsh.yaml.yml.toml.ini`.split(`.`)],[MazCog,[`conf`,`config`,`env`,`cfg`]],[MazPresentationChartBar,[`ppt`,`pptx`,`key`,`odp`]],[MazDocumentText,[`rtf`,`odt`]],[MazPencilSquare,[`ttf`,`otf`,`woff`,`woff2`,`eot`]],[MazPaintBrush,[`ai`,`psd`,`sketch`,`fig`,`xd`,`eps`]],[MazDocumentIcon,[`pdf`,`doc`,`docx`,`tsv`,`document`]]];for(let[icon,extensions]of groups)for(let ext of extensions)map.set(ext,icon);return map})();function getIconComponent(fileData){let type=fileData.file.type.split(`/`)?.[1]?.split(`+`)?.[0]?.toLowerCase();let extension=fileData.file.name.split(`.`).pop()?.toLowerCase();return extensionIconMap.get(type)||extension&&extensionIconMap.get(extension)||extensionIconMap.get(`document`)}function handleFileInputClick(){fileInput.value&&fileInput.value.click()}function handleFileRemove(fileData){fileData.url&&URL.revokeObjectURL(fileData.url),filesData.value=filesData.value.filter(f=>f.file!==fileData.file),emits(`remove`,fileData.file)}let selectAreaCanBeDisplayed=ref(!0);let dataTypesString=computed(()=>__props.dataTypes?.map(formatReadable).join(`, `));let allFileIsAccepted=computed(()=>__props.dataTypes?.length===1&&__props.dataTypes[0]===`*/*`);let{t}=useTranslations();let messages=computed(()=>{let customTranslations=__props.translations||{};return{dragAndDrop:customTranslations.dragAndDrop??t(`dropzone.dragAndDrop`),fileMaxCount:__props.maxFiles?customTranslations.fileMaxCount??t(`dropzone.fileMaxCount`,{count:__props.maxFiles}):void 0,fileMaxSize:__props.maxFileSize?customTranslations.fileMaxSize??t(`dropzone.fileMaxSize`,{size:__props.maxFileSize}):void 0,fileTypes:dataTypesString.value?customTranslations.fileTypes??t(`dropzone.fileTypes`,{types:dataTypesString.value}):void 0,selectFile:customTranslations.selectFile??t(`dropzone.selectFile`),divider:customTranslations.divider??t(`dropzone.divider`)}});function formatReadable(fmt){if(fmt.startsWith(`.`))return fmt;if(fmt.includes(`/`)){let[type,subtype]=fmt.split(`/`);if(subtype===`*`){let customTypes=__props.translations?.types||{};switch(type){case`image`:return customTypes.image??t(`dropzone.types.image`);case`video`:return customTypes.video??t(`dropzone.types.video`);case`audio`:return customTypes.audio??t(`dropzone.types.audio`);case`text`:return customTypes.text??t(`dropzone.types.text`);default:return fmt}}return subtype}return fmt}function reset(){filesData.value.forEach(fileData=>{fileData.url&&URL.revokeObjectURL(fileData.url)}),filesData.value=[]}function addFile(file){handleFiles([file])}function removeFile(file){filesData.value=filesData.value.filter(f=>f.file!==file)}function isFileTypeAllowed(file){return!__props.dataTypes||__props.dataTypes.includes(`*/*`)?!0:__props.dataTypes.some(type=>type.startsWith(`.`)?file.name.toLowerCase().endsWith(type.toLowerCase()):type.endsWith(`/*`)?file.type.startsWith(type.slice(0,-1)):file.type===type)}return __expose({uploadFiles,uploadFilesMultiple,getFormData,getFormDataMultiple,reset,isUploading,addFile,removeFile}),(_ctx,_cache)=>(openBlock(),createElementBlock(`label`,{ref_key:`dropZoneRef`,ref:dropZoneRef,role:`button`,tabindex:`0`,for:`input-file-uploader-${unref(instanceId)}`,class:normalizeClass([`m-dropzone m-reset-css maz:flex maz:w-full maz:cursor-pointer maz:flex-col maz:flex-center maz:gap-2 maz:overflow-hidden maz:rounded-md maz:border maz:border-dashed maz:border-divider maz:bg-input maz:p-6 maz:transition-colors maz:duration-200 maz:ease-in-out maz:hover:bg-surface-600/50 maz:dark:hover:bg-surface-400/50`,{"m-dropzone--disabled maz:disabled-state":__props.disabled,"m-dropzone--is-over-drop-zone":unref(isOverDropZone)&&!unref(isOverError),"m-dropzone--is-over-error":unref(isOverError)}]),style:normalizeStyle({"--active-color":`var(--maz-${__props.color})`})},[renderSlot(_ctx.$slots,`files-area`,{filesData:filesData.value},()=>[createVNode(TransitionGroup,{name:`file-scale`,tag:`div`,class:`m-dropzone__files-container`,onBeforeEnter:_cache[1]||=$event=>selectAreaCanBeDisplayed.value=!1,onAfterLeave:_cache[2]||=$event=>selectAreaCanBeDisplayed.value=filesData.value.length===0},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(filesData.value,file=>(openBlock(),createElementBlock(`div`,{key:`${file.name}-${file.size}-${file}`,class:`m-dropzone__file-item group`,onClick:_cache[0]||=withModifiers(()=>{},[`prevent`])},[renderSlot(_ctx.$slots,`file-item`,{file},()=>[file.thumbnail&&__props.preview?(openBlock(),createElementBlock(Fragment,{key:0},[createElementVNode(`div`,{style:normalizeStyle({backgroundImage:`url(${file.thumbnail})`,backgroundSize:`cover`,backgroundPosition:`center`}),class:`m-dropzone__thumbnail`},null,4),_cache[4]||=createElementVNode(`div`,{class:`m-dropzone__overlay`},null,-1)],64)):createCommentVNode(``,!0),createElementVNode(`div`,_hoisted_2,[createVNode(Transition,{name:`icon-scale`},{default:withCtx(()=>[file.uploading?(openBlock(),createBlock(unref(MazSpinner),mergeProps({key:0,color:__props.color,class:`m-dropzone__spinner`},{ref_for:!0},__props.spinnerProps),null,16,[`color`])):file.success?(openBlock(),createBlock(unref(MazCheckCircle),{key:1,class:`m-dropzone__success-icon`})):file.error?(openBlock(),createBlock(unref(MazXCircle),{key:2,class:`m-dropzone__error-icon`})):(openBlock(),createElementBlock(`div`,_hoisted_3,[createVNode(MazIcon_default,{icon:getIconComponent(file),size:`lg`,class:`m-dropzone__file-icon`},null,8,[`icon`])]))]),_:2},1024)]),createElementVNode(`div`,_hoisted_4,[createElementVNode(`div`,_hoisted_5,[createElementVNode(`span`,_hoisted_6,toDisplayString(file.name),1),createElementVNode(`span`,_hoisted_7,toDisplayString(file.sizeInMb)+` MB`,1)]),!file.uploading&&!file.success?(openBlock(),createBlock(MazBtn_default,mergeProps({key:0,size:`xs`,icon:unref(MazTrash),disabled:__props.disabled,color:`destructive`,pastel:``},{ref_for:!0},__props.removeFileBtnProps,{onClick:withModifiers($event=>handleFileRemove(file),[`prevent`])}),null,16,[`icon`,`disabled`,`onClick`])):createCommentVNode(``,!0)])],!0)]))),128))]),_:3})],!0),filesData.value.length===0&&selectAreaCanBeDisplayed.value?renderSlot(_ctx.$slots,`no-files-area`,{key:0,selectFile:handleFileInputClick},()=>[createElementVNode(`div`,_hoisted_8,[renderSlot(_ctx.$slots,`upload-icon`,{},()=>[createVNode(unref(MazArrowUpOnSquare),{class:`m-dropzone__upload-icon`})],!0),createElementVNode(`span`,_hoisted_9,[createTextVNode(toDisplayString(messages.value.dragAndDrop)+` `+toDisplayString(messages.value.divider)+` `,1),createVNode(MazLink_default,{color:`inherit`,underline:``,onClick:_cache[3]||=withModifiers($event=>!__props.disabled&&handleFileInputClick(),[`prevent`])},{default:withCtx(()=>[createTextVNode(toDisplayString(messages.value.selectFile),1)]),_:1})])]),!allFileIsAccepted.value&&(messages.value.fileMaxCount||messages.value.fileMaxSize||messages.value.fileTypes)?(openBlock(),createElementBlock(`p`,_hoisted_10,[messages.value.fileMaxCount?(openBlock(),createElementBlock(`span`,_hoisted_11,toDisplayString(messages.value.fileMaxCount),1)):createCommentVNode(``,!0),messages.value.fileMaxSize?(openBlock(),createElementBlock(`span`,_hoisted_12,toDisplayString(messages.value.fileMaxSize),1)):createCommentVNode(``,!0),messages.value.fileTypes?(openBlock(),createElementBlock(`span`,_hoisted_13,toDisplayString(messages.value.fileTypes),1)):createCommentVNode(``,!0)])):createCommentVNode(``,!0)],!0):createCommentVNode(``,!0),createElementVNode(`input`,{id:`input-file-uploader-${unref(instanceId)}`,ref_key:`fileInput`,ref:fileInput,multiple:hasMultiple.value,type:`file`,accept:__props.dataTypes?.join(`,`),tabindex:`-1`,disabled:__props.disabled,class:`m-dropzone__file-input`,onChange:handleFileUpload},null,40,_hoisted_14)],14,_hoisted_1))}}),[[`__scopeId`,`data-v-b607dd3b`]]);export{MazDropzone_default as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as _plugin_vue_export_helper_default}from"./_plugin-vue_export-helper.zP_plvmB.js";import{useGlobalConfig}from"../composables/useGlobalConfig.js";import{t as MazInput_default}from"./MazInput.CfAgOEV4.js";import{t as MazBtn_default}from"./MazBtn.
|
|
1
|
+
import{t as _plugin_vue_export_helper_default}from"./_plugin-vue_export-helper.zP_plvmB.js";import{useGlobalConfig}from"../composables/useGlobalConfig.js";import{t as MazInput_default}from"./MazInput.CfAgOEV4.js";import{t as MazBtn_default}from"./MazBtn.C7LV-iX2.js";import{Fragment,TransitionGroup,computed,createElementBlock,createTextVNode,createVNode,defineComponent,mergeProps,normalizeClass,normalizeStyle,openBlock,ref,renderList,toDisplayString,unref,withCtx,withKeys,withModifiers}from"vue";import{truthyFilter}from"@maz-ui/utils/helpers/truthyFilter";import{MazTrash}from"@maz-ui/icons/raw/MazTrash";import '../assets/MazInputTags.CkN4xVxJ.css';var MazInputTags_default=_plugin_vue_export_helper_default(defineComponent({inheritAttrs:!1,__name:`MazInputTags`,props:{style:{type:[Boolean,null,String,Object,Array]},class:{type:[Boolean,null,String,Object,Array]},modelValue:{},placeholder:{},label:{},disabled:{type:Boolean,default:!1},error:{type:Boolean,default:!1},success:{type:Boolean,default:!1},warning:{type:Boolean,default:!1},size:{},color:{default:`primary`},block:{type:Boolean},addTagsOnBlur:{type:Boolean,default:!0},hint:{}},emits:[`update:model-value`],setup(__props,{emit:__emit}){let emits=__emit;let{size}=useGlobalConfig(`MazInputTags`,{size:`md`});let isFocused=ref(!1);let inputValue=ref();let tagsHoveredId=ref();let lastIdToDelete=ref();let currentDeleteTimeout=ref();let tags=computed(()=>__props.modelValue?.map(tag=>({tag,id:`${Date.now()}-${Math.random().toString(36).slice(2)}`})));function addTags(event){if(inputValue.value){lastIdToDelete.value=void 0,event.preventDefault();let newValues=inputValue.value.trim().split(`,`).map(value=>value.trim()===`,`?void 0:value.trim()).filter(truthyFilter).filter(value=>!__props.modelValue?.filter(truthyFilter)?.includes(value));emits(`update:model-value`,__props.modelValue?[...__props.modelValue,...newValues]:[...newValues]),inputValue.value=void 0}}let borderStyle=computed(()=>{if(__props.error)return`maz:border-destructive`;if(__props.success)return`maz:border-success`;if(__props.warning)return`maz:border-warning`;if(isFocused.value){if(__props.color===`primary`)return`maz:border-primary`;if(__props.color===`secondary`)return`maz:border-secondary`;if(__props.color===`info`)return`maz:border-info`;if(__props.color===`destructive`)return`maz:border-destructive`;if(__props.color===`success`)return`maz:border-success`;if(__props.color===`warning`)return`maz:border-warning`}return``});function removeLastTag(){inputValue.value||tags.value&&tags.value?.length===0||(currentDeleteTimeout.value&&clearTimeout(currentDeleteTimeout.value),lastIdToDelete.value?(removeTag(lastIdToDelete.value),lastIdToDelete.value=void 0):(lastIdToDelete.value=tags.value?.at(-1)?.id,currentDeleteTimeout.value=setTimeout(()=>{lastIdToDelete.value=void 0},2e3)))}function removeTag(id){let tagsArray=tags.value?.filter(tag=>tag.id!==id).map(tag=>tag.tag);emits(`update:model-value`,tagsArray)}let SIZE_CLASS={xl:`maz:min-h-16`,lg:`maz:min-h-14`,md:`maz:min-h-12`,sm:`maz:min-h-10`,xs:`maz:min-h-8`,mini:`maz:min-h-6`};let buttonSize=computed(()=>size.value===`mini`||size.value===`xs`?`mini`:size.value===`sm`?`xs`:size.value===`md`?`sm`:size.value===`lg`?`md`:size.value===`xl`?`lg`:size.value);return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`m-input-tags m-reset-css maz:relative maz:inline-flex maz:flex-wrap maz:gap-1 maz:overflow-hidden maz:rounded-md maz:border maz:border-divider maz:bg-input maz:px-[0.5em] maz:py-[0.25em] maz:align-top maz:transition-colors maz:duration-200 maz:ease-in-out maz:dark:border-divider-400`,[borderStyle.value,`--${__props.color}`,`--${unref(size)}`,SIZE_CLASS[unref(size)],__props.class,{"--block":__props.block,"maz:w-full":__props.block}]]),style:normalizeStyle(__props.style),onFocusCapture:_cache[4]||=$event=>isFocused.value=!0,onBlurCapture:_cache[5]||=$event=>isFocused.value=!1},[createVNode(TransitionGroup,{name:`maz-tags`},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(tags.value,({tag,id},i)=>(openBlock(),createElementBlock(`div`,{key:`tag-${i}`,class:`m-input-tags__wrapper maz:inline-flex maz:h-auto maz:flex-none! maz:flex-center`},[createVNode(MazBtn_default,{class:`m-input-tags__tag`,disabled:__props.disabled,size:buttonSize.value,color:tagsHoveredId.value===id||lastIdToDelete.value===id?`destructive`:__props.color,"end-icon":tagsHoveredId.value===id||lastIdToDelete.value===id?unref(MazTrash):void 0,onClick:withModifiers($event=>removeTag(id),[`stop`]),onMouseenter:$event=>tagsHoveredId.value=__props.disabled?void 0:id,onFocus:$event=>tagsHoveredId.value=__props.disabled?void 0:id,onMouseleave:_cache[0]||=$event=>tagsHoveredId.value=void 0,onBlur:_cache[1]||=$event=>tagsHoveredId.value=void 0},{default:withCtx(()=>[createTextVNode(toDisplayString(tag),1)]),_:2},1032,[`disabled`,`size`,`color`,`end-icon`,`onClick`,`onMouseenter`,`onFocus`])]))),128))]),_:1}),createVNode(MazInput_default,mergeProps({key:`input-tags`,modelValue:inputValue.value,"onUpdate:modelValue":_cache[2]||=$event=>inputValue.value=$event},_ctx.$attrs,{placeholder:__props.placeholder,label:__props.label,"aria-label":__props.label||__props.placeholder,error:__props.error,hint:__props.hint,success:__props.success,warning:__props.warning,disabled:__props.disabled,"top-label":void 0,"assistive-text":void 0,color:__props.color,block:__props.block,size:unref(size),"input-classes":`maz:w-full`,border:!1,class:`m-input-tags__input maz:h-auto! maz:flex-1`,onKeydown:[withKeys(addTags,[`enter`]),withKeys(removeLastTag,[`delete`])],onBlur:_cache[3]||=$event=>__props.addTagsOnBlur?addTags($event):void 0}),null,16,[`modelValue`,`placeholder`,`label`,`aria-label`,`error`,`hint`,`success`,`warning`,`disabled`,`color`,`block`,`size`])],38))}}),[[`__scopeId`,`data-v-7b221b88`]]);export{MazInputTags_default as t};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{useInstanceUniqId}from"../composables/useInstanceUniqId.js";import{t as _plugin_vue_export_helper_default}from"./_plugin-vue_export-helper.zP_plvmB.js";import{useGlobalConfig}from"../composables/useGlobalConfig.js";import{t as MazBtn_default}from"./MazBtn.
|
|
1
|
+
import{useInstanceUniqId}from"../composables/useInstanceUniqId.js";import{t as _plugin_vue_export_helper_default}from"./_plugin-vue_export-helper.zP_plvmB.js";import{useGlobalConfig}from"../composables/useGlobalConfig.js";import{t as MazBtn_default}from"./MazBtn.C7LV-iX2.js";import{t as MazBtnGroup_default}from"./MazBtnGroup.DQPVMzrc.js";import{t as MazDropdown_default}from"./MazDropdown.D-KqWLC2.js";import{Fragment,computed,createBlock,createCommentVNode,createElementBlock,createElementVNode,createTextVNode,createVNode,defineComponent,mergeModels,mergeProps,nextTick,normalizeClass,normalizeStyle,openBlock,ref,renderList,renderSlot,toDisplayString,unref,useModel,vModelText,vShow,watch,withCtx,withDirectives}from"vue";import{MazLinkIcon}from"@maz-ui/icons/lazy/MazLinkIcon";import{useTranslations}from"@maz-ui/translations/composables/useTranslations";import{MazCheckCircle}from"@maz-ui/icons/lazy/MazCheckCircle";import{MazEye}from"@maz-ui/icons/lazy/MazEye";import{MazBold}from"@maz-ui/icons/lazy/MazBold";import{MazChatBubbleBottomCenterText}from"@maz-ui/icons/lazy/MazChatBubbleBottomCenterText";import{MazCodeBracket}from"@maz-ui/icons/lazy/MazCodeBracket";import{MazCodeBracketSquare}from"@maz-ui/icons/lazy/MazCodeBracketSquare";import{MazHashtag}from"@maz-ui/icons/lazy/MazHashtag";import{MazItalic}from"@maz-ui/icons/lazy/MazItalic";import{MazListBullet}from"@maz-ui/icons/lazy/MazListBullet";import{MazNumberedList}from"@maz-ui/icons/lazy/MazNumberedList";import{MazPencil}from"@maz-ui/icons/lazy/MazPencil";import{MazPhoto}from"@maz-ui/icons/lazy/MazPhoto";import{MazStrikethrough}from"@maz-ui/icons/lazy/MazStrikethrough";import{MazTableCells}from"@maz-ui/icons/lazy/MazTableCells";import{MazViewColumns}from"@maz-ui/icons/lazy/MazViewColumns";import '../assets/MazMarkdownEditor.DeyfIz2b.css';var _hoisted_1=[`for`];var _hoisted_2={class:`m-markdown-editor__header maz:flex maz:items-center maz:justify-between maz:gap-2 maz:border-b maz:bg-container maz:px-2 maz:py-1.5`};var _hoisted_3=[`aria-label`];var _hoisted_4={key:0,class:`m-markdown-editor__toolbar maz:flex maz:flex-wrap maz:items-center maz:gap-0.5`};var _hoisted_5={class:`m-markdown-editor__editor maz:flex maz:min-w-0 maz:flex-1`};var _hoisted_6=[`id`,`name`,`rows`,`placeholder`,`disabled`,`readonly`,`required`,`aria-labelledby`];var _hoisted_7=[`id`,`aria-labelledby`];var _hoisted_8=[`innerHTML`];var _hoisted_9={key:1,class:`m-markdown-editor__preview-empty maz:text-muted maz:italic`};var MazMarkdownEditor_default=_plugin_vue_export_helper_default(defineComponent({inheritAttrs:!1,__name:`MazMarkdownEditor`,props:mergeModels({style:{type:[Boolean,null,String,Object,Array]},class:{type:[Boolean,null,String,Object,Array]},modelValue:{},id:{},name:{default:`MazMarkdownEditor`},label:{},placeholder:{},required:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},error:{type:Boolean,default:!1},success:{type:Boolean,default:!1},warning:{type:Boolean,default:!1},color:{default:`primary`},roundedSize:{},topLabel:{},assistiveText:{},toolbar:{type:[Boolean,Array],default:!1},lineNumbers:{type:Boolean,default:!1},shortcuts:{type:Boolean,default:!0},sanitize:{type:Boolean,default:!0},renderFunction:{type:Function},markedOptions:{},rows:{default:6},translations:{}},{mode:{default:`write`},modeModifiers:{}}),emits:mergeModels([`update:model-value`,`input`,`focus`,`blur`,`change`],[`update:mode`]),setup(__props,{expose:__expose,emit:__emit}){let emits=__emit;let mode=useModel(__props,`mode`);let{roundedSize}=useGlobalConfig(`MazMarkdownEditor`,{roundedSize:`md`});let{t}=useTranslations();let instanceId=useInstanceUniqId({componentName:`MazMarkdownEditor`,providedId:__props.id});let textareaEl=ref();let gutterEl=ref();let previewHtml=ref(``);let isRendering=ref(!1);let labels=computed(()=>({write:__props.translations?.write??t(`markdownEditor.write`),preview:__props.translations?.preview??t(`markdownEditor.preview`),split:__props.translations?.split??t(`markdownEditor.split`),emptyPreview:__props.translations?.emptyPreview??t(`markdownEditor.emptyPreview`),toolbar:{heading:__props.translations?.toolbar?.heading??t(`markdownEditor.toolbar.heading`),bold:__props.translations?.toolbar?.bold??t(`markdownEditor.toolbar.bold`),italic:__props.translations?.toolbar?.italic??t(`markdownEditor.toolbar.italic`),strikethrough:__props.translations?.toolbar?.strikethrough??t(`markdownEditor.toolbar.strikethrough`),quote:__props.translations?.toolbar?.quote??t(`markdownEditor.toolbar.quote`),code:__props.translations?.toolbar?.code??t(`markdownEditor.toolbar.code`),codeBlock:__props.translations?.toolbar?.codeBlock??t(`markdownEditor.toolbar.codeBlock`),link:__props.translations?.toolbar?.link??t(`markdownEditor.toolbar.link`),image:__props.translations?.toolbar?.image??t(`markdownEditor.toolbar.image`),bulletList:__props.translations?.toolbar?.bulletList??t(`markdownEditor.toolbar.bulletList`),orderedList:__props.translations?.toolbar?.orderedList??t(`markdownEditor.toolbar.orderedList`),checkList:__props.translations?.toolbar?.checkList??t(`markdownEditor.toolbar.checkList`),table:__props.translations?.toolbar?.table??t(`markdownEditor.toolbar.table`)},headings:{h1:__props.translations?.headings?.h1??t(`markdownEditor.headings.h1`),h2:__props.translations?.headings?.h2??t(`markdownEditor.headings.h2`),h3:__props.translations?.headings?.h3??t(`markdownEditor.headings.h3`)}}));let inputValue=computed({get:()=>__props.modelValue,set:value=>updateValue(value)});function updateValue(value){emits(`update:model-value`,value),emits(`input`,value)}function escapeHtml(value){return value.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`).replace(/'/g,`'`)}let renderSeq=0;async function parseToHtml(source){if(__props.renderFunction)return __props.renderFunction(source);let{marked}=await import(`marked`);return marked.parse(source,{gfm:!0,breaks:!0,...__props.markedOptions})}async function sanitizeHtml(html,source){if(!__props.sanitize)return html;try{let{default:DOMPurify}=await import(`dompurify`);return DOMPurify.sanitize(html)}catch{return`<pre>${escapeHtml(source)}</pre>`}}async function renderPreview(){let seq=++renderSeq;let source=__props.modelValue??``;if(!source.trim()||globalThis.window===void 0){seq===renderSeq&&(previewHtml.value=``);return}isRendering.value=!0;try{let html=await sanitizeHtml(await parseToHtml(source),source);seq===renderSeq&&(previewHtml.value=html)}catch{seq===renderSeq&&(previewHtml.value=`<pre>${escapeHtml(source)}</pre>`)}finally{seq===renderSeq&&(isRendering.value=!1)}}function setMode(value){__props.disabled||(mode.value=value)}function tryExecInsert(el,text){if(typeof document>`u`||typeof document.execCommand!=`function`)return!1;try{return document.execCommand(`insertText`,!1,text)}catch{return!1}}function replaceRange(rangeStart,rangeEnd,text,caretStart,caretEnd=caretStart){let el=textareaEl.value;if(!(!el||__props.disabled||__props.readonly)){if(el.focus(),el.setSelectionRange(rangeStart,rangeEnd),!tryExecInsert(el,text)){let value=__props.modelValue??``;updateValue(value.slice(0,rangeStart)+text+value.slice(rangeEnd))}nextTick(()=>{el.focus(),el.setSelectionRange(caretStart,caretEnd)})}}function wrapSelection(before,after=before){let el=textareaEl.value;if(!el)return;let value=__props.modelValue??``;let start=el.selectionStart??value.length;let end=el.selectionEnd??value.length;let selected=value.slice(start,end);let caret=start+before.length;replaceRange(start,end,`${before}${selected}${after}`,caret,caret+selected.length)}function prefixLines(prefix){let el=textareaEl.value;if(!el)return;let value=__props.modelValue??``;let start=el.selectionStart??0;let end=el.selectionEnd??0;let lineStart=value.lastIndexOf(`
|
|
2
2
|
`,start-1)+1;let prefixed=value.slice(lineStart,end).split(`
|
|
3
3
|
`).map(line=>prefix+line).join(`
|
|
4
4
|
`);replaceRange(lineStart,end,prefixed,lineStart,lineStart+prefixed.length)}function applyHeading(level){prefixLines(`${`#`.repeat(level)} `)}function insertLink(){let el=textareaEl.value;if(!el)return;let value=__props.modelValue??``;let start=el.selectionStart??value.length;let end=el.selectionEnd??value.length;let selected=value.slice(start,end)||labels.value.toolbar.link.toLowerCase();let urlStart=start+selected.length+3;replaceRange(start,end,`[${selected}](url)`,urlStart,urlStart+3)}function insertImage(){let el=textareaEl.value;if(!el)return;let value=__props.modelValue??``;let start=el.selectionStart??value.length;let end=el.selectionEnd??value.length;let selected=value.slice(start,end)||`alt`;let urlStart=start+selected.length+4;replaceRange(start,end,``,urlStart,urlStart+3)}function insertCodeBlock(){let el=textareaEl.value;if(!el)return;let value=__props.modelValue??``;let start=el.selectionStart??value.length;let end=el.selectionEnd??value.length;let selected=value.slice(start,end);let caret=start+4;replaceRange(start,end,`\`\`\`\n${selected}\n\`\`\``,caret,caret+selected.length)}function insertTable(){let el=textareaEl.value;if(!el)return;let start=el.selectionStart??0;replaceRange(start,el.selectionEnd??0,`| Header | Header |
|
|
@@ -7,4 +7,4 @@ import{useInstanceUniqId}from"../composables/useInstanceUniqId.js";import{t as _
|
|
|
7
7
|
`,start+50)}let SIMPLE_ACTIONS={bold:{icon:MazBold,run:()=>wrapSelection(`**`)},italic:{icon:MazItalic,run:()=>wrapSelection(`_`)},strikethrough:{icon:MazStrikethrough,run:()=>wrapSelection(`~~`)},quote:{icon:MazChatBubbleBottomCenterText,run:()=>prefixLines(`> `)},code:{icon:MazCodeBracket,run:()=>wrapSelection("`")},codeBlock:{icon:MazCodeBracketSquare,run:insertCodeBlock},link:{icon:MazLinkIcon,run:insertLink},image:{icon:MazPhoto,run:insertImage},bulletList:{icon:MazListBullet,run:()=>prefixLines(`- `)},orderedList:{icon:MazNumberedList,run:()=>prefixLines(`1. `)},checkList:{icon:MazCheckCircle,run:()=>prefixLines(`- [ ] `)},table:{icon:MazTableCells,run:insertTable}};let SHORTCUT_BINDINGS=[{action:`bold`,key:`b`,shift:!1,alt:!1,token:`B`,run:SIMPLE_ACTIONS.bold.run},{action:`italic`,key:`i`,shift:!1,alt:!1,token:`I`,run:SIMPLE_ACTIONS.italic.run},{action:`link`,key:`k`,shift:!1,alt:!1,token:`K`,run:SIMPLE_ACTIONS.link.run},{action:`code`,key:`e`,shift:!1,alt:!1,token:`E`,run:SIMPLE_ACTIONS.code.run},{action:`codeBlock`,key:`e`,shift:!0,alt:!1,token:`E`,run:SIMPLE_ACTIONS.codeBlock.run},{action:`strikethrough`,key:`x`,shift:!0,alt:!1,token:`X`,run:SIMPLE_ACTIONS.strikethrough.run},{action:`quote`,code:`Period`,shift:!0,alt:!1,token:`.`,run:SIMPLE_ACTIONS.quote.run},{action:`bulletList`,code:`Digit8`,shift:!0,alt:!1,token:`8`,run:SIMPLE_ACTIONS.bulletList.run},{action:`orderedList`,code:`Digit7`,shift:!0,alt:!1,token:`7`,run:SIMPLE_ACTIONS.orderedList.run},{action:`checkList`,key:`l`,shift:!0,alt:!1,token:`L`,run:SIMPLE_ACTIONS.checkList.run},{action:`heading`,code:`Digit1`,shift:!1,alt:!0,token:`1`,run:()=>applyHeading(1)},{action:`heading`,code:`Digit2`,shift:!1,alt:!0,token:`2`,run:()=>applyHeading(2)},{action:`heading`,code:`Digit3`,shift:!1,alt:!0,token:`3`,run:()=>applyHeading(3)}];let isApplePlatform=typeof navigator<`u`&&/Mac|iPhone|iPad|iPod/.test(navigator.platform||navigator.userAgent||``);function formatShortcut(binding){return`${isApplePlatform?`⌘`:`Ctrl+`}${binding.alt?isApplePlatform?`⌥`:`Alt+`:``}${binding.shift?isApplePlatform?`⇧`:`Shift+`:``}${binding.token}`}let shortcutHints=computed(()=>{let hints={};if(!__props.shortcuts)return hints;for(let binding of SHORTCUT_BINDINGS)hints[binding.action]||(hints[binding.action]=formatShortcut(binding));return hints});let LIST_PATTERNS=[{re:/^(\s*)([-*+]) \[[ x]\] (.*)$/i,marker:m=>`${m[1]}${m[2]} [ ] `,content:m=>m[3]},{re:/^(\s*)([-*+]) (.*)$/,marker:m=>`${m[1]}${m[2]} `,content:m=>m[3]},{re:/^(\s*)(\d+)([.)]) (.*)$/,marker:m=>`${m[1]}${Number(m[2])+1}${m[3]} `,content:m=>m[4]}];function handleListContinuation(){let el=textareaEl.value;if(!el||el.selectionStart!==el.selectionEnd)return!1;let value=__props.modelValue??``;let caret=el.selectionStart??0;let lineStart=value.lastIndexOf(`
|
|
8
8
|
`,caret-1)+1;let lineBreak=value.indexOf(`
|
|
9
9
|
`,caret);let lineEnd=lineBreak===-1?value.length:lineBreak;let line=value.slice(lineStart,lineEnd);for(let pattern of LIST_PATTERNS){let match=line.match(pattern.re);if(match){if(pattern.content(match).trim()===``)replaceRange(lineStart,lineEnd,``,lineStart);else{let marker=pattern.marker(match);replaceRange(caret,caret,`\n${marker}`,caret+marker.length+1)}return!0}}return!1}function handleKeydown(event){if(__props.disabled||__props.readonly)return;if(event.key===`Enter`&&!event.shiftKey&&!event.metaKey&&!event.ctrlKey&&!event.altKey){handleListContinuation()&&event.preventDefault();return}if(!__props.shortcuts||!(event.metaKey||event.ctrlKey))return;let match=SHORTCUT_BINDINGS.find(binding=>binding.shift===event.shiftKey&&binding.alt===event.altKey&&(binding.code?event.code===binding.code:event.key.toLowerCase()===binding.key));match&&(event.preventDefault(),match.run())}let DEFAULT_TOOLBAR_ACTIONS=[`heading`,`bold`,`italic`,`strikethrough`,`quote`,`code`,`codeBlock`,`link`,`image`,`bulletList`,`orderedList`,`checkList`,`table`];let resolvedToolbarActions=computed(()=>__props.toolbar===!0?DEFAULT_TOOLBAR_ACTIONS:Array.isArray(__props.toolbar)?__props.toolbar.filter(key=>key===`heading`||key in SIMPLE_ACTIONS):[]);let toolbarButtons=computed(()=>resolvedToolbarActions.value.map(key=>{if(key===`heading`)return{key,isHeading:!0,label:labels.value.toolbar.heading,title:labels.value.toolbar.heading};let label=labels.value.toolbar[key];let hint=shortcutHints.value[key];return{key,isHeading:!1,icon:SIMPLE_ACTIONS[key].icon,label,title:hint?`${label} (${hint})`:label,run:SIMPLE_ACTIONS[key].run}}));let headingItems=computed(()=>[{label:labels.value.headings.h1,onClick:()=>applyHeading(1)},{label:labels.value.headings.h2,onClick:()=>applyHeading(2)},{label:labels.value.headings.h3,onClick:()=>applyHeading(3)}]);let showToolbar=computed(()=>resolvedToolbarActions.value.length>0&&mode.value!==`preview`);let lineCount=computed(()=>(__props.modelValue??``).split(`
|
|
10
|
-
`).length);function syncGutterScroll(){gutterEl.value&&textareaEl.value&&(gutterEl.value.scrollTop=textareaEl.value.scrollTop)}function handleFocus(event){emits(`focus`,event)}function handleBlur(event){emits(`blur`,event)}function handleChange(event){emits(`change`,event)}let borderStyle=computed(()=>__props.error?`maz:border-destructive`:__props.success?`maz:border-success`:__props.warning?`maz:border-warning`:`maz:border-divider maz:dark:border-divider-400`);let stateLabelColor=computed(()=>({"maz:text-destructive-600":__props.error,"maz:text-success-600":__props.success,"maz:text-warning-600":__props.warning}));let ROUNDED_CLASS={none:``,sm:`maz:rounded-xs`,md:`maz:rounded-md`,lg:`maz:rounded-lg`,xl:`maz:rounded-xl`,full:`maz:rounded-xl`};let writePanelId=computed(()=>`${instanceId.value}-write`);let previewPanelId=computed(()=>`${instanceId.value}-preview`);let tabItems=computed(()=>[{id:`${instanceId.value}-tab-write`,color:`transparent`,outlined:!0,active:mode.value===`write`,startIcon:MazPencil,size:`xs`,role:`tab`,"aria-controls":writePanelId.value,"aria-selected":mode.value===`write`,disabled:__props.disabled,text:labels.value.write,onClick:()=>setMode(`write`)},{id:`${instanceId.value}-tab-preview`,color:`transparent`,outlined:!0,active:mode.value===`preview`,startIcon:MazEye,size:`xs`,role:`tab`,"aria-controls":previewPanelId.value,"aria-selected":mode.value===`preview`,disabled:__props.disabled,text:labels.value.preview,onClick:()=>setMode(`preview`)},{id:`${instanceId.value}-tab-split`,color:`transparent`,outlined:!0,active:mode.value===`split`,startIcon:MazViewColumns,size:`xs`,role:`tab`,"aria-controls":`${writePanelId.value} ${previewPanelId.value}`,"aria-selected":mode.value===`split`,disabled:__props.disabled,text:labels.value.split,onClick:()=>setMode(`split`)}]);return watch([()=>__props.modelValue,mode],([,currentMode])=>{currentMode!==`write`&&renderPreview()},{immediate:!0}),__expose({textarea:textareaEl,mode,renderPreview,focus:()=>textareaEl.value?.focus()}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`m-markdown-editor m-reset-css maz:flex maz:flex-col maz:gap-2`,__props.class]),style:normalizeStyle(__props.style)},[__props.topLabel||__props.label||_ctx.$slots.label?(openBlock(),createElementBlock(`label`,{key:0,for:unref(instanceId),class:normalizeClass([`m-markdown-editor__top-label maz:w-max`,stateLabelColor.value]),style:{fontWeight:`var(--maz-input-top-label-font-weight, 600)`}},[renderSlot(_ctx.$slots,`label`,{},()=>[createTextVNode(toDisplayString(__props.topLabel??__props.label),1)],!0)],10,_hoisted_1)):createCommentVNode(``,!0),createElementVNode(`div`,{class:normalizeClass([`m-markdown-editor__box maz:flex maz:flex-col maz:overflow-hidden maz:text-foreground`,[borderStyle.value,ROUNDED_CLASS[unref(roundedSize)],`--${__props.color}`,{"--is-disabled maz:disabled-cursor maz:border-divider maz:bg-surface-600 maz:text-muted maz:dark:border-divider-400 maz:dark:bg-surface-400":__props.disabled,"maz:border maz:border-solid maz:bg-input":!__props.disabled}]])},[createElementVNode(`div`,_hoisted_2,[createElementVNode(`div`,{class:`m-markdown-editor__tabs maz:flex maz:gap-1`,role:`tablist`,"aria-label":__props.name},[createVNode(MazBtnGroup_default,{size:`sm`,items:tabItems.value},null,8,[`items`])],8,_hoisted_3),showToolbar.value?(openBlock(),createElementBlock(`div`,_hoisted_4,[renderSlot(_ctx.$slots,`toolbar`,{mode:mode.value,wrapSelection,prefixLines,applyHeading,insertLink,insertImage,insertCodeBlock,insertTable},()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(toolbarButtons.value,item=>(openBlock(),createElementBlock(Fragment,{key:item.key},[item.isHeading?(openBlock(),createBlock(MazDropdown_default,{key:0,items:headingItems.value,trigger:`adaptive`,transition:`scale-pop`,size:`xs`},{trigger:withCtx(({toggle})=>[createVNode(MazBtn_default,{size:`xs`,color:`transparent`,type:`button`,icon:unref(MazHashtag),"aria-label":item.label,title:item.title,disabled:__props.disabled||__props.readonly,"data-action":`heading`,onClick:toggle},null,8,[`icon`,`aria-label`,`title`,`disabled`,`onClick`])]),_:2},1032,[`items`])):(openBlock(),createBlock(MazBtn_default,{key:1,size:`xs`,color:`transparent`,type:`button`,icon:item.icon,"aria-label":item.label,title:item.title,disabled:__props.disabled||__props.readonly,"data-action":item.key,onClick:$event=>item.run()},null,8,[`icon`,`aria-label`,`title`,`disabled`,`data-action`,`onClick`]))],64))),128))],!0)])):createCommentVNode(``,!0)]),createElementVNode(`div`,{class:normalizeClass([`m-markdown-editor__content maz:flex maz:flex-col`,{"maz:tab-s:flex-row":mode.value===`split`}])},[withDirectives(createElementVNode(`div`,_hoisted_5,[__props.lineNumbers?(openBlock(),createElementBlock(`div`,{key:0,ref_key:`gutterEl`,ref:gutterEl,class:`m-markdown-editor__gutter maz:overflow-hidden maz:border-r maz:border-divider maz:py-3 maz:pr-2 maz:pl-3 maz:text-right maz:font-mono maz:text-sm maz:text-muted maz:select-none maz:dark:border-divider-400`,"aria-hidden":`true`},[(openBlock(!0),createElementBlock(Fragment,null,renderList(lineCount.value,n=>(openBlock(),createElementBlock(`span`,{key:n,class:`maz:block`},toDisplayString(n),1))),128))],512)):createCommentVNode(``,!0),withDirectives(createElementVNode(`textarea`,mergeProps({id:unref(instanceId),ref_key:`textareaEl`,ref:textareaEl},_ctx.$attrs,{"onUpdate:modelValue":_cache[0]||=$event=>inputValue.value=$event,class:`m-markdown-editor__textarea maz:min-w-0 maz:flex-1 maz:resize-y maz:bg-transparent maz:px-4 maz:py-3 maz:font-mono maz:text-sm maz:outline-hidden`,name:__props.name,rows:__props.rows,placeholder:__props.placeholder,disabled:__props.disabled,readonly:__props.readonly,required:__props.required,role:`tabpanel`,"aria-labelledby":`${unref(instanceId)}-tab-write`,onFocus:handleFocus,onBlur:handleBlur,onChange:handleChange,onScroll:syncGutterScroll,onKeydown:handleKeydown}),null,16,_hoisted_6),[[vModelText,inputValue.value]])],512),[[vShow,mode.value!==`preview`]]),withDirectives(createElementVNode(`div`,{id:previewPanelId.value,class:normalizeClass([`m-markdown-editor__preview maz:min-w-0 maz:flex-1 maz:px-4 maz:py-3 maz:text-sm`,{"--split maz:border-t maz:border-divider maz:tab-s:border-t-0 maz:tab-s:border-l maz:dark:border-divider-400":mode.value===`split`}]),role:`tabpanel`,"aria-labelledby":`${unref(instanceId)}-tab-preview`,style:normalizeStyle({minHeight:`${__props.rows*1.5}rem`})},[previewHtml.value?(openBlock(),createElementBlock(`div`,{key:0,class:`m-markdown-editor__preview-content`,innerHTML:previewHtml.value},null,8,_hoisted_8)):isRendering.value?createCommentVNode(``,!0):(openBlock(),createElementBlock(`p`,_hoisted_9,[renderSlot(_ctx.$slots,`empty-preview`,{},()=>[createTextVNode(toDisplayString(labels.value.emptyPreview),1)],!0)]))],14,_hoisted_7),[[vShow,mode.value!==`write`]])],2)],2),__props.assistiveText?(openBlock(),createElementBlock(`div`,{key:1,class:normalizeClass([`m-markdown-editor__bottom-text maz:-mt-1 maz:text-sm`,{"maz:text-destructive-600":__props.error,"maz:text-success-600":__props.success,"maz:text-warning-600":__props.warning,"maz:text-muted":!__props.error&&!__props.success&&!__props.warning}])},toDisplayString(__props.assistiveText),3)):createCommentVNode(``,!0)],6))}}),[[`__scopeId`,`data-v-
|
|
10
|
+
`).length);function syncGutterScroll(){gutterEl.value&&textareaEl.value&&(gutterEl.value.scrollTop=textareaEl.value.scrollTop)}function handleFocus(event){emits(`focus`,event)}function handleBlur(event){emits(`blur`,event)}function handleChange(event){emits(`change`,event)}let borderStyle=computed(()=>__props.error?`maz:border-destructive`:__props.success?`maz:border-success`:__props.warning?`maz:border-warning`:`maz:border-divider maz:dark:border-divider-400`);let stateLabelColor=computed(()=>({"maz:text-destructive-600":__props.error,"maz:text-success-600":__props.success,"maz:text-warning-600":__props.warning}));let ROUNDED_CLASS={none:``,sm:`maz:rounded-xs`,md:`maz:rounded-md`,lg:`maz:rounded-lg`,xl:`maz:rounded-xl`,full:`maz:rounded-xl`};let writePanelId=computed(()=>`${instanceId.value}-write`);let previewPanelId=computed(()=>`${instanceId.value}-preview`);let tabItems=computed(()=>[{id:`${instanceId.value}-tab-write`,color:`transparent`,outlined:!0,active:mode.value===`write`,startIcon:MazPencil,size:`xs`,role:`tab`,"aria-controls":writePanelId.value,"aria-selected":mode.value===`write`,disabled:__props.disabled,text:labels.value.write,onClick:()=>setMode(`write`)},{id:`${instanceId.value}-tab-preview`,color:`transparent`,outlined:!0,active:mode.value===`preview`,startIcon:MazEye,size:`xs`,role:`tab`,"aria-controls":previewPanelId.value,"aria-selected":mode.value===`preview`,disabled:__props.disabled,text:labels.value.preview,onClick:()=>setMode(`preview`)},{id:`${instanceId.value}-tab-split`,color:`transparent`,outlined:!0,active:mode.value===`split`,startIcon:MazViewColumns,size:`xs`,role:`tab`,"aria-controls":`${writePanelId.value} ${previewPanelId.value}`,"aria-selected":mode.value===`split`,disabled:__props.disabled,text:labels.value.split,onClick:()=>setMode(`split`)}]);return watch([()=>__props.modelValue,mode],([,currentMode])=>{currentMode!==`write`&&renderPreview()},{immediate:!0}),__expose({textarea:textareaEl,mode,renderPreview,focus:()=>textareaEl.value?.focus()}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`m-markdown-editor m-reset-css maz:flex maz:flex-col maz:gap-2`,__props.class]),style:normalizeStyle(__props.style)},[__props.topLabel||__props.label||_ctx.$slots.label?(openBlock(),createElementBlock(`label`,{key:0,for:unref(instanceId),class:normalizeClass([`m-markdown-editor__top-label maz:w-max`,stateLabelColor.value]),style:{fontWeight:`var(--maz-input-top-label-font-weight, 600)`}},[renderSlot(_ctx.$slots,`label`,{},()=>[createTextVNode(toDisplayString(__props.topLabel??__props.label),1)],!0)],10,_hoisted_1)):createCommentVNode(``,!0),createElementVNode(`div`,{class:normalizeClass([`m-markdown-editor__box maz:flex maz:flex-col maz:overflow-hidden maz:text-foreground`,[borderStyle.value,ROUNDED_CLASS[unref(roundedSize)],`--${__props.color}`,{"--is-disabled maz:disabled-cursor maz:border-divider maz:bg-surface-600 maz:text-muted maz:dark:border-divider-400 maz:dark:bg-surface-400":__props.disabled,"maz:border maz:border-solid maz:bg-input":!__props.disabled}]])},[createElementVNode(`div`,_hoisted_2,[createElementVNode(`div`,{class:`m-markdown-editor__tabs maz:flex maz:gap-1`,role:`tablist`,"aria-label":__props.name},[createVNode(MazBtnGroup_default,{size:`sm`,items:tabItems.value},null,8,[`items`])],8,_hoisted_3),showToolbar.value?(openBlock(),createElementBlock(`div`,_hoisted_4,[renderSlot(_ctx.$slots,`toolbar`,{mode:mode.value,wrapSelection,prefixLines,applyHeading,insertLink,insertImage,insertCodeBlock,insertTable},()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(toolbarButtons.value,item=>(openBlock(),createElementBlock(Fragment,{key:item.key},[item.isHeading?(openBlock(),createBlock(MazDropdown_default,{key:0,items:headingItems.value,trigger:`adaptive`,"close-on-click":``,transition:`scale-pop`,size:`xs`},{trigger:withCtx(({toggle})=>[createVNode(MazBtn_default,{size:`xs`,color:`transparent`,type:`button`,icon:unref(MazHashtag),"aria-label":item.label,title:item.title,disabled:__props.disabled||__props.readonly,"data-action":`heading`,onClick:toggle},null,8,[`icon`,`aria-label`,`title`,`disabled`,`onClick`])]),_:2},1032,[`items`])):(openBlock(),createBlock(MazBtn_default,{key:1,size:`xs`,color:`transparent`,type:`button`,icon:item.icon,"aria-label":item.label,title:item.title,disabled:__props.disabled||__props.readonly,"data-action":item.key,onClick:$event=>item.run()},null,8,[`icon`,`aria-label`,`title`,`disabled`,`data-action`,`onClick`]))],64))),128))],!0)])):createCommentVNode(``,!0)]),createElementVNode(`div`,{class:normalizeClass([`m-markdown-editor__content maz:flex maz:flex-col`,{"maz:tab-s:flex-row":mode.value===`split`}])},[withDirectives(createElementVNode(`div`,_hoisted_5,[__props.lineNumbers?(openBlock(),createElementBlock(`div`,{key:0,ref_key:`gutterEl`,ref:gutterEl,class:`m-markdown-editor__gutter maz:overflow-hidden maz:border-r maz:border-divider maz:py-3 maz:pr-2 maz:pl-3 maz:text-right maz:font-mono maz:text-sm maz:text-muted maz:select-none maz:dark:border-divider-400`,"aria-hidden":`true`},[(openBlock(!0),createElementBlock(Fragment,null,renderList(lineCount.value,n=>(openBlock(),createElementBlock(`span`,{key:n,class:`maz:block`},toDisplayString(n),1))),128))],512)):createCommentVNode(``,!0),withDirectives(createElementVNode(`textarea`,mergeProps({id:unref(instanceId),ref_key:`textareaEl`,ref:textareaEl},_ctx.$attrs,{"onUpdate:modelValue":_cache[0]||=$event=>inputValue.value=$event,class:`m-markdown-editor__textarea maz:min-w-0 maz:flex-1 maz:resize-y maz:bg-transparent maz:px-4 maz:py-3 maz:font-mono maz:text-sm maz:outline-hidden`,name:__props.name,rows:__props.rows,placeholder:__props.placeholder,disabled:__props.disabled,readonly:__props.readonly,required:__props.required,role:`tabpanel`,"aria-labelledby":`${unref(instanceId)}-tab-write`,onFocus:handleFocus,onBlur:handleBlur,onChange:handleChange,onScroll:syncGutterScroll,onKeydown:handleKeydown}),null,16,_hoisted_6),[[vModelText,inputValue.value]])],512),[[vShow,mode.value!==`preview`]]),withDirectives(createElementVNode(`div`,{id:previewPanelId.value,class:normalizeClass([`m-markdown-editor__preview maz:min-w-0 maz:flex-1 maz:px-4 maz:py-3 maz:text-sm`,{"--split maz:border-t maz:border-divider maz:tab-s:border-t-0 maz:tab-s:border-l maz:dark:border-divider-400":mode.value===`split`}]),role:`tabpanel`,"aria-labelledby":`${unref(instanceId)}-tab-preview`,style:normalizeStyle({minHeight:`${__props.rows*1.5}rem`})},[previewHtml.value?(openBlock(),createElementBlock(`div`,{key:0,class:`m-markdown-editor__preview-content`,innerHTML:previewHtml.value},null,8,_hoisted_8)):isRendering.value?createCommentVNode(``,!0):(openBlock(),createElementBlock(`p`,_hoisted_9,[renderSlot(_ctx.$slots,`empty-preview`,{},()=>[createTextVNode(toDisplayString(labels.value.emptyPreview),1)],!0)]))],14,_hoisted_7),[[vShow,mode.value!==`write`]])],2)],2),__props.assistiveText?(openBlock(),createElementBlock(`div`,{key:1,class:normalizeClass([`m-markdown-editor__bottom-text maz:-mt-1 maz:text-sm`,{"maz:text-destructive-600":__props.error,"maz:text-success-600":__props.success,"maz:text-warning-600":__props.warning,"maz:text-muted":!__props.error&&!__props.success&&!__props.warning}])},toDisplayString(__props.assistiveText),3)):createCommentVNode(``,!0)],6))}}),[[`__scopeId`,`data-v-d061360c`]]);export{MazMarkdownEditor_default as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useGlobalConfig}from"../composables/useGlobalConfig.js";import{t as MazIcon_default}from"./MazIcon.CblJ-8Iu.js";import{t as MazBtn_default}from"./MazBtn.
|
|
1
|
+
import{useGlobalConfig}from"../composables/useGlobalConfig.js";import{t as MazIcon_default}from"./MazIcon.CblJ-8Iu.js";import{t as MazBtn_default}from"./MazBtn.C7LV-iX2.js";import{Fragment,computed,createBlock,createCommentVNode,createElementBlock,createElementVNode,createTextVNode,createVNode,defineComponent,mergeProps,openBlock,renderList,renderSlot,toDisplayString,unref,withCtx}from"vue";import{useTranslations}from"@maz-ui/translations/composables/useTranslations";import{MazEllipsisHorizontal}from"@maz-ui/icons/lazy/MazEllipsisHorizontal";import{MazChevronDoubleLeft}from"@maz-ui/icons/raw/MazChevronDoubleLeft";import{MazChevronLeft}from"@maz-ui/icons/raw/MazChevronLeft";var _hoisted_1=[`aria-label`];var _hoisted_2={class:`maz:m-0! maz:inline-flex maz:list-none! maz:items-center maz:gap-2 maz:-space-x-px maz:p-0! maz:align-top maz:text-base`};var _hoisted_3={class:`maz:m-0`};var _hoisted_4={class:`maz:sr-only`};var _hoisted_5={class:`maz:m-0`};var _hoisted_6={class:`maz:sr-only`};var _hoisted_7=[`id`];var _hoisted_8={class:`maz:sr-only`};var _hoisted_9={class:`maz:m-0`};var _hoisted_10={class:`maz:sr-only`};var _hoisted_11={class:`maz:m-0`};var _hoisted_12={class:`maz:sr-only`};var MazPagination_default=defineComponent({__name:`MazPagination`,props:{modelValue:{default:1},buttonProps:{},activeColor:{default:`surface`},size:{},totalPages:{},pageRange:{default:1},loading:{type:Boolean}},emits:[`update:model-value`],setup(__props,{emit:__emit}){let emits=__emit;let DEFAULT_BUTTONS_PROPS={size:`md`,color:`surface`,outlined:!0,fab:!0};let{t}=useTranslations();let{size}=useGlobalConfig(`MazPagination`,{size:`md`});let buttonsPropsMerged=computed(()=>({...DEFAULT_BUTTONS_PROPS,...__props.buttonProps}));let previousPage=computed(()=>__props.modelValue>1?__props.modelValue-1:1);let nextPage=computed(()=>__props.modelValue<__props.totalPages?__props.modelValue+1:__props.totalPages);let allPages=computed(()=>Array.from({length:__props.totalPages},(_,index)=>{let itemNumber=index+1;return{number:itemNumber,isActive:itemNumber===__props.modelValue,loading:itemNumber===__props.modelValue&&__props.loading}}));let firstOne=computed(()=>__props.modelValue-__props.pageRange>1?allPages.value.slice(0,1):[]);let lastOne=computed(()=>__props.modelValue<__props.totalPages-__props.pageRange?allPages.value.slice(-1):[]);let rangeStartAt=computed(()=>{let baseStart=__props.modelValue-__props.pageRange-1;return baseStart<0?0:baseStart>__props.totalPages-__props.pageRange?__props.totalPages-__props.pageRange:baseStart});let rangeEndAt=computed(()=>{let baseEnd=__props.modelValue+__props.pageRange;return baseEnd>__props.totalPages?__props.totalPages:baseEnd<__props.pageRange?__props.pageRange:baseEnd});let range=computed(()=>allPages.value.slice(rangeStartAt.value,rangeEndAt.value));let firstDivider=computed(()=>__props.modelValue-__props.pageRange>2?[{divider:!0}]:[]);let lastDivider=computed(()=>__props.modelValue<__props.totalPages-__props.pageRange-1?[{divider:!0}]:[]);let pages=computed(()=>[...firstOne.value,...firstDivider.value,...range.value,...lastDivider.value,...lastOne.value]);function setPageNumber(page){page!==__props.modelValue&&emits(`update:model-value`,page)}return(_ctx,_cache)=>(openBlock(),createElementBlock(`nav`,{class:`m-pagination m-reset-css`,role:`navigation`,"aria-label":unref(t)(`pagination.navAriaLabel`)},[createElementVNode(`ul`,_hoisted_2,[createElementVNode(`li`,_hoisted_3,[createVNode(MazBtn_default,mergeProps(buttonsPropsMerged.value,{disabled:__props.modelValue===1,"aria-label":`First Page, Page 1`,size:unref(size),onClick:_cache[0]||=$event=>setPageNumber(1)}),{default:withCtx(()=>[createElementVNode(`span`,_hoisted_4,[renderSlot(_ctx.$slots,`first-page-sr`,{page:1},()=>[createTextVNode(toDisplayString(unref(t)(`pagination.screenReader.firstPage`,{page:1})),1)])]),createVNode(MazIcon_default,{icon:unref(MazChevronDoubleLeft)},null,8,[`icon`])]),_:3},16,[`disabled`,`size`])]),createElementVNode(`li`,_hoisted_5,[createVNode(MazBtn_default,mergeProps(buttonsPropsMerged.value,{disabled:__props.modelValue===1,"aria-label":`Previous Page, Page ${previousPage.value}`,size:unref(size),onClick:_cache[1]||=$event=>setPageNumber(previousPage.value)}),{default:withCtx(()=>[createElementVNode(`span`,_hoisted_6,[renderSlot(_ctx.$slots,`previous-page-sr`,{page:previousPage.value},()=>[createTextVNode(toDisplayString(unref(t)(`pagination.screenReader.previousPage`,{page:previousPage.value})),1)])]),createVNode(MazIcon_default,{icon:unref(MazChevronLeft)},null,8,[`icon`])]),_:3},16,[`disabled`,`aria-label`,`size`])]),(openBlock(!0),createElementBlock(Fragment,null,renderList(pages.value,(page,i)=>(openBlock(),createElementBlock(`li`,{id:`number`in page?`button-${i}-${page.number}`:`ellipsis-${i}`,key:`number`in page?`button-${i}-${page.number}`:`ellipsis-${i}`,class:`maz:m-0`},[`number`in page?(openBlock(),createBlock(MazBtn_default,mergeProps({key:0,ref_for:!0},{...buttonsPropsMerged.value,color:page.isActive?__props.activeColor:buttonsPropsMerged.value.color,outlined:page.isActive?!1:buttonsPropsMerged.value.outlined},{size:unref(size),"aria-label":`Page ${page.number}`,"aria-current":page.isActive?`page`:void 0,loading:page.loading,class:{active:page.isActive},onClick:$event=>page.isActive?void 0:setPageNumber(page.number)}),{default:withCtx(()=>[createElementVNode(`span`,_hoisted_8,[renderSlot(_ctx.$slots,`page-sr`,{page:page.number},()=>[createTextVNode(toDisplayString(unref(t)(`pagination.screenReader.page`,{page:page.number})),1)])]),createTextVNode(` `+toDisplayString(page.number),1)]),_:2},1040,[`size`,`aria-label`,`aria-current`,`loading`,`class`,`onClick`])):page.divider?(openBlock(),createElementBlock(`div`,mergeProps({key:1,ref_for:!0},buttonsPropsMerged.value,{class:`flex-center flex p-2`}),[createVNode(unref(MazEllipsisHorizontal))],16)):createCommentVNode(``,!0)],8,_hoisted_7))),128)),createElementVNode(`li`,_hoisted_9,[createVNode(MazBtn_default,mergeProps(buttonsPropsMerged.value,{disabled:__props.modelValue===__props.totalPages,"aria-label":`Next Page, Page ${nextPage.value}`,size:unref(size),onClick:_cache[2]||=$event=>setPageNumber(nextPage.value)}),{default:withCtx(()=>[createElementVNode(`span`,_hoisted_10,[renderSlot(_ctx.$slots,`next-page-sr`,{page:nextPage.value},()=>[createTextVNode(toDisplayString(unref(t)(`pagination.screenReader.nextPage`,{page:nextPage.value})),1)])]),createVNode(MazIcon_default,{icon:unref(MazChevronLeft),class:`maz:-rotate-180`},null,8,[`icon`])]),_:3},16,[`disabled`,`aria-label`,`size`])]),createElementVNode(`li`,_hoisted_11,[createVNode(MazBtn_default,mergeProps(buttonsPropsMerged.value,{disabled:__props.modelValue===__props.totalPages,"aria-label":`Next Page, Page ${__props.totalPages}`,size:unref(size),onClick:_cache[3]||=$event=>setPageNumber(__props.totalPages)}),{default:withCtx(()=>[createElementVNode(`span`,_hoisted_12,[renderSlot(_ctx.$slots,`last-page-sr`,{page:__props.totalPages},()=>[createTextVNode(toDisplayString(unref(t)(`pagination.screenReader.lastPage`,{page:__props.totalPages})),1)])]),createVNode(MazIcon_default,{icon:unref(MazChevronDoubleLeft),class:`maz:-rotate-180`},null,8,[`icon`])]),_:3},16,[`disabled`,`aria-label`,`size`])])])],8,_hoisted_1))}});export{MazPagination_default as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as _plugin_vue_export_helper_default}from"./_plugin-vue_export-helper.zP_plvmB.js";import{t as MazBtn_default}from"./MazBtn.
|
|
1
|
+
import{t as _plugin_vue_export_helper_default}from"./_plugin-vue_export-helper.zP_plvmB.js";import{t as MazBtn_default}from"./MazBtn.C7LV-iX2.js";import{d as isRangeValue,f as isSameDate,m as isValidDate,o as getFirstDayOfMonth,p as isSameDay,r as getDaysInMonth}from"./utils.CjLBQJki.js";import{Fragment,TransitionGroup,computed,createBlock,createElementBlock,createElementVNode,createVNode,defineComponent,normalizeClass,openBlock,ref,renderList,toDisplayString,useCssVars,watch,withCtx}from"vue";import{debounce}from"@maz-ui/utils/helpers/debounce";import dayjs from"dayjs/esm";import '../assets/MazPickerCalendarGrid.DiySQJQ9.css';var _hoisted_1={class:`maz:text-sm`};var MazPickerCalendarGrid_default=_plugin_vue_export_helper_default(defineComponent({__name:`MazPickerCalendarGrid`,props:{modelValue:{type:[String,Object],default:void 0},calendarDate:{type:String,required:!0},hasTime:{type:Boolean,required:!0},locale:{type:String,required:!0},firstDayOfWeek:{type:Number,required:!0},color:{type:String,required:!0},minDate:{type:String,default:void 0},inline:{type:Boolean,required:!0},maxDate:{type:String,default:void 0},disabledWeekly:{type:Array,required:!0},disabledDates:{type:Array,required:!0},hoverredDay:{type:Object,default:void 0},disabled:{type:Boolean,required:!0},range:{type:Boolean,required:!0}},emits:[`update:model-value`,`update:hoverred-day`],setup(__props,{emit:__emit}){useCssVars(_ctx=>({v93bdda52:hoverColor.value,v11ce37aa:hoverTextColor.value}));let props=__props;let emits=__emit;let MazDatePickerGrid=ref();let transitionName=ref(`maz-slidenext`);let calendarDateArray=computed(()=>[props.calendarDate]);let hoverColor=computed(()=>`color-mix(in srgb, var(--maz-${props.color}) 20%, transparent)`);let hoverTextColor=computed(()=>`var(--maz-${props.color}-foreground)`);let modelValue=computed({get:()=>props.modelValue,set:value=>emits(`update:model-value`,value)});let monthDays=computed(()=>Array.from({length:getDaysInMonth(props.calendarDate)},(_v,i)=>i+1).map(day=>({label:day,date:dayjs(props.calendarDate).set(`date`,day)})));let emptyDaysCount=computed(()=>(getFirstDayOfMonth(props.calendarDate)-props.firstDayOfWeek+7)%7);function setHoverredDay(day){let value=props.modelValue;!value||!isRangeValue(value)||(value.start&&!value.end&&day&&day.isAfter(value.start)?emits(`update:hoverred-day`,day):emits(`update:hoverred-day`))}function isBetweenHoverred(day){let value=props.modelValue;if(!(!value||!isRangeValue(value)||!value.start||!props.hoverredDay))return dayjs(day).isBetween(value.start,props.hoverredDay,`date`,`()`)?3:void 0}function isLastDayHoverred(day){if(props.hoverredDay)return dayjs(day).isSame(props.hoverredDay)}function isFirstDay(day){return props.modelValue&&props.modelValue&&typeof props.modelValue==`object`&&props.modelValue?.start?isSameDate(day,props.modelValue.start,`date`):!1}function isLastDay(day){return props.modelValue&&props.modelValue&&typeof props.modelValue==`object`&&props.modelValue?.end?isSameDate(day,props.modelValue.end,`date`):!1}function getDayButtonColor(date){let value=props.modelValue;if(typeof value==`object`){let isStartDate=value.start?isSameDate(date,value.start,`date`):!1;let isEndDate=value.end?isSameDate(date,value.end,`date`):!1;let isBetweenDates=checkIsBetween(date);return isStartDate||isEndDate||isBetweenDates?props.color:`transparent`}else return checkIsSameDate(date)?props.color:`transparent`}function isSelectedOrBetween(day){if(props.modelValue&&typeof props.modelValue==`object`){if(props.modelValue.start&&isSameDate(day,props.modelValue.start,`date`))return 1;if(props.modelValue.end){if(isSameDate(day,props.modelValue.end,`date`))return 1;if(checkIsBetween(day))return 2}}else if(checkIsSameDate(day))return 1;return 0}function selectDay(value){props.range&&setHoverredDay();let valueFormatted=value.format();if(typeof modelValue.value==`object`){let values=modelValue.value;values.start&&values.end&&(values={start:void 0,end:void 0});let isBeforeStartDate=dayjs(valueFormatted).isBefore(values.start,`date`);modelValue.value=!values.start||isBeforeStartDate?{start:valueFormatted,end:void 0}:{start:values.start,end:valueFormatted}}else modelValue.value=valueFormatted}function checkIsSameDate(day){let value=props.modelValue;return!value||!isValidDate(value)?!1:isSameDate(day,value,`date`)}function checkIsBetween(day){let value=props.modelValue;return!isRangeValue(value)||!value.start||!value.end?!1:dayjs(day).isBetween(value.start,value.end,`date`,`()`)}function isSmallerMinDate(day){return props.minDate?dayjs(day).isBefore(props.minDate,`date`):!1}function isDisabledWeekly(day){return props.disabledWeekly?.length?props.disabledWeekly.some(disabledDay=>isSameDay(day,disabledDay)):!1}function isDisabledDate(day){return props.disabledDates?.length?props.disabledDates.some(disabledDay=>isSameDate(day,disabledDay,`date`)):!1}function isBiggerMaxDate(day){return props.maxDate?dayjs(day).isAfter(props.maxDate,`date`):!1}let removeContainerHeight=debounce(()=>{MazDatePickerGrid.value&&(MazDatePickerGrid.value.style.minHeight=``)},400);function setContainerHeight(){MazDatePickerGrid.value&&(MazDatePickerGrid.value.style.minHeight=`${MazDatePickerGrid.value?.clientHeight||176}px`,removeContainerHeight())}return watch(()=>props.calendarDate,(calendarDate,oldCalendarValue)=>{transitionName.value=dayjs(calendarDate).isAfter(oldCalendarValue,`date`)?`maz-slidenext`:`maz-slideprev`,setContainerHeight()}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{ref_key:`MazDatePickerGrid`,ref:MazDatePickerGrid,class:`maz-picker-calendar-grid maz:relative maz:transition-all maz:duration-300 maz:ease-in-out`},[createVNode(TransitionGroup,{name:transitionName.value},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList([calendarDateArray.value],(dateArray,dateIndex)=>(openBlock(),createElementBlock(`div`,{key:`${dateArray[dateIndex]}`,class:normalizeClass([`maz-picker-calendar-grid__container maz:relative maz:grid maz:grid-cols-7 maz:items-start maz:gap-y-1`,{"--is-range":__props.range,"maz:gap-x-1":!__props.range}])},[(openBlock(!0),createElementBlock(Fragment,null,renderList(emptyDaysCount.value,first=>(openBlock(),createElementBlock(`div`,{key:first}))),128)),(openBlock(!0),createElementBlock(Fragment,null,renderList(monthDays.value,({label,date},i)=>(openBlock(),createBlock(MazBtn_default,{key:i,size:`mini`,color:getDayButtonColor(date),type:`button`,block:__props.inline,disabled:__props.disabled||isSmallerMinDate(date)||isBiggerMaxDate(date)||isDisabledWeekly(date)||isDisabledDate(date),class:normalizeClass([`maz:size-8 maz:cursor-pointer maz:rounded-full`,{"--is-first":isFirstDay(date)&&isSelectedOrBetween(date)===1,"--is-last":isLastDay(date)&&isSelectedOrBetween(date)===1,"--is-last-hoverred":isLastDayHoverred(date),"--is-selected":isSelectedOrBetween(date)===1,"--is-between":isSelectedOrBetween(date)===2,"--is-between-hoverred":__props.range?isBetweenHoverred(date)===3:void 0}]),onClick:$event=>selectDay(date),onMouseover:$event=>__props.range?setHoverredDay(date):void 0,onMouseleave:_cache[0]||=$event=>__props.range?setHoverredDay():void 0,onFocus:$event=>__props.range?setHoverredDay(date):void 0,onBlur:_cache[1]||=$event=>__props.range?setHoverredDay():void 0},{default:withCtx(()=>[createElementVNode(`span`,_hoisted_1,toDisplayString(label),1)]),_:2},1032,[`color`,`block`,`disabled`,`class`,`onClick`,`onMouseover`,`onFocus`]))),128))],2))),128))]),_:1},8,[`name`])],512))}}),[[`__scopeId`,`data-v-fc747436`]]);export{MazPickerCalendarGrid_default as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as MazBottomSheet_default}from"../chunks/MazBottomSheet.
|
|
1
|
+
import{t as MazBottomSheet_default}from"../chunks/MazBottomSheet.D1BeBFNK.js";export{MazBottomSheet_default as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as MazBtn_default}from"../chunks/MazBtn.
|
|
1
|
+
import{t as MazBtn_default}from"../chunks/MazBtn.C7LV-iX2.js";export{MazBtn_default as default};
|
|
@@ -13,9 +13,14 @@ export interface MazBtnProps {
|
|
|
13
13
|
size?: MazSize;
|
|
14
14
|
/**
|
|
15
15
|
* The color of the button
|
|
16
|
-
* @values `'primary' | 'secondary' | '
|
|
16
|
+
* @values `'primary' | 'secondary' | 'accent' | 'info' | 'success' | 'warning' | 'destructive' | 'contrast' | 'transparent' | 'surface'`
|
|
17
17
|
*/
|
|
18
18
|
color?: MazColor | 'surface';
|
|
19
|
+
/**
|
|
20
|
+
* The text color of the button
|
|
21
|
+
* @values `primary' | 'secondary' | 'accent' | 'info' | 'success' | 'warning' | 'destructive' | 'contrast' | 'transparent' | 'muted'`
|
|
22
|
+
*/
|
|
23
|
+
textColor?: MazColor | 'muted';
|
|
19
24
|
/**
|
|
20
25
|
* The type of the button
|
|
21
26
|
* @values `'submit' | 'reset' | 'button'`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as MazPickerCalendarGrid_default}from"../../../chunks/MazPickerCalendarGrid.
|
|
1
|
+
import{t as MazPickerCalendarGrid_default}from"../../../chunks/MazPickerCalendarGrid.9RHBzkN0.js";export{MazPickerCalendarGrid_default as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as MazPickerCalendarDays_default}from"../../../chunks/MazPickerCalendarDays.M406Kil2.js";import{t as MazPickerCalendarGrid_default}from"../../../chunks/MazPickerCalendarGrid.
|
|
1
|
+
import{t as MazPickerCalendarDays_default}from"../../../chunks/MazPickerCalendarDays.M406Kil2.js";import{t as MazPickerCalendarGrid_default}from"../../../chunks/MazPickerCalendarGrid.9RHBzkN0.js";import{computed,createElementBlock,createVNode,defineComponent,normalizeClass,openBlock}from"vue";import dayjs from"dayjs/esm";var MazPickerCalendarMonth_default=defineComponent({__name:`MazPickerCalendarMonth`,props:{modelValue:{type:[String,Object],default:void 0},color:{type:String,required:!0},locale:{type:String,required:!0},hasTime:{type:Boolean,required:!0},firstDayOfWeek:{type:Number,required:!0},inline:{type:Boolean,required:!0},calendarDate:{type:String,required:!0},offsetMonth:{type:Number,default:0},minDate:{type:String,default:void 0},maxDate:{type:String,default:void 0},disabledWeekly:{type:Array,required:!0},disabledDates:{type:Array,required:!0},hoverredDay:{type:Object,default:void 0},disabled:{type:Boolean,required:!0},range:{type:Boolean,required:!0}},emits:[`update:model-value`,`update:calendar-date`,`update:hoverred-day`],setup(__props,{emit:__emit}){let props=__props;let emits=__emit;let modelValue=computed({get:()=>props.modelValue,set:value=>emits(`update:model-value`,value)});let hoverredDay=computed({get:()=>props.hoverredDay,set:value=>emits(`update:hoverred-day`,value)});function getCalendarDateWithOffset(offset){return dayjs(props.calendarDate).add(offset,`month`).format()}let calendarDateWithOffset=computed({get:()=>getCalendarDateWithOffset(props.offsetMonth),set:calendarDate=>emits(`update:calendar-date`,calendarDate)});return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`maz-picker-calendar-month maz:w-full maz:overflow-hidden maz:py-2`,{"--has-padding":!__props.range,"maz:px-2":!__props.range}])},[createVNode(MazPickerCalendarDays_default,{locale:__props.locale,"first-day-of-week":__props.firstDayOfWeek,class:`maz-picker-calendar-month__days maz:pb-2`},null,8,[`locale`,`first-day-of-week`]),createVNode(MazPickerCalendarGrid_default,{modelValue:modelValue.value,"onUpdate:modelValue":_cache[0]||=$event=>modelValue.value=$event,"hoverred-day":hoverredDay.value,"onUpdate:hoverredDay":_cache[1]||=$event=>hoverredDay.value=$event,locale:__props.locale,color:__props.color,"has-time":__props.hasTime,inline:__props.inline,"calendar-date":calendarDateWithOffset.value,"first-day-of-week":__props.firstDayOfWeek,"min-date":__props.minDate,"max-date":__props.maxDate,"disabled-weekly":__props.disabledWeekly,"disabled-dates":__props.disabledDates,disabled:__props.disabled,range:__props.range},null,8,[`modelValue`,`hoverred-day`,`locale`,`color`,`has-time`,`inline`,`calendar-date`,`first-day-of-week`,`min-date`,`max-date`,`disabled-weekly`,`disabled-dates`,`disabled`,`range`])],2))}});export{MazPickerCalendarMonth_default as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as MazIcon_default}from"../../chunks/MazIcon.CblJ-8Iu.js";import{t as MazBtn_default}from"../../chunks/MazBtn.
|
|
1
|
+
import{t as MazIcon_default}from"../../chunks/MazIcon.CblJ-8Iu.js";import{t as MazBtn_default}from"../../chunks/MazBtn.C7LV-iX2.js";import{computed,createElementBlock,createTextVNode,createVNode,defineComponent,openBlock,toDisplayString,unref,withCtx}from"vue";import{MazChevronLeft}from"@maz-ui/icons/raw/MazChevronLeft";import{formatDate}from"@maz-ui/utils/helpers/formatDate";import dayjs from"dayjs/esm";import{capitalize}from"@maz-ui/utils/helpers/capitalize";var _hoisted_1={class:`m-date-picker-calendar-switcher maz:flex maz:space-x-2 maz:border-b maz:border-divider maz:px-2 maz:py-1`};var MazPickerCalendarSwitcher_default=defineComponent({__name:`MazPickerCalendarSwitcher`,props:{calendarDate:{type:String,default:void 0},locale:{type:String,required:!0},double:{type:Boolean,required:!0}},emits:[`previous`,`next`,`open-month-switcher`,`open-year-switcher`,`update:calendar-date`],setup(__props,{emit:__emit}){let props=__props;let emits=__emit;let calendarDate2=computed(()=>dayjs(props.calendarDate));let monthLabel=computed(()=>props.double?`${capitalize(formatDate(calendarDate2.value.format(),props.locale,{month:`short`})??calendarDate2.value.format())} - ${capitalize(formatDate(calendarDate2.value.add(1,`month`).format(),props.locale,{month:`short`})??calendarDate2.value.add(1,`month`).format())}`:capitalize(formatDate(calendarDate2.value.format(),props.locale,{month:`short`})??calendarDate2.value.format()));let yearLabel=computed(()=>formatDate(calendarDate2.value.format(),props.locale,{year:`numeric`}));function previousMonth(){emits(`update:calendar-date`,dayjs(props.calendarDate).subtract(1,`month`).format())}function nextMonth(){emits(`update:calendar-date`,dayjs(props.calendarDate).add(1,`month`).format())}return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1,[createVNode(MazBtn_default,{size:`xs`,color:`transparent`,type:`button`,onClick:previousMonth},{default:withCtx(()=>[createVNode(MazIcon_default,{icon:unref(MazChevronLeft),class:`maz:text-lg`},null,8,[`icon`])]),_:1}),createVNode(MazBtn_default,{size:`sm`,color:`transparent`,type:`button`,class:`m-date-picker-calendar-switcher__date maz:flex-1 maz:truncate maz:text-center`,onClick:_cache[0]||=$event=>_ctx.$emit(`open-month-switcher`,$event)},{default:withCtx(()=>[createTextVNode(toDisplayString(monthLabel.value),1)]),_:1}),createVNode(MazBtn_default,{size:`sm`,color:`transparent`,type:`button`,class:`m-date-picker-calendar-switcher__date maz:flex-1 maz:truncate maz:text-center`,onClick:_cache[1]||=$event=>_ctx.$emit(`open-year-switcher`,$event)},{default:withCtx(()=>[createTextVNode(toDisplayString(yearLabel.value),1)]),_:1}),createVNode(MazBtn_default,{size:`xs`,color:`transparent`,type:`button`,onClick:nextMonth},{default:withCtx(()=>[createVNode(MazIcon_default,{icon:unref(MazChevronLeft),class:`maz:rotate-180 maz:text-lg`},null,8,[`icon`])]),_:1})]))}});export{MazPickerCalendarSwitcher_default as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as _plugin_vue_export_helper_default}from"../../chunks/_plugin-vue_export-helper.zP_plvmB.js";import{t as MazIcon_default}from"../../chunks/MazIcon.CblJ-8Iu.js";import{t as MazBtn_default}from"../../chunks/MazBtn.
|
|
1
|
+
import{t as _plugin_vue_export_helper_default}from"../../chunks/_plugin-vue_export-helper.zP_plvmB.js";import{t as MazIcon_default}from"../../chunks/MazIcon.CblJ-8Iu.js";import{t as MazBtn_default}from"../../chunks/MazBtn.C7LV-iX2.js";import{f as isSameDate}from"../../chunks/utils.CjLBQJki.js";import{Fragment,computed,createBlock,createElementBlock,createElementVNode,createTextVNode,createVNode,defineComponent,normalizeClass,openBlock,renderList,toDisplayString,unref,withCtx,withModifiers}from"vue";import{MazXMark}from"@maz-ui/icons/raw/MazXMark";import{formatDate}from"@maz-ui/utils/helpers/formatDate";import dayjs from"dayjs/esm";import{capitalize}from"@maz-ui/utils/helpers/capitalize";import '../../assets/MazPickerMonthSwitcher.CiMwoYth.css';var _hoisted_1={class:`maz-picker-month-switcher maz:absolute maz:inset-0 maz:z-1 maz:flex maz:flex-col maz:bg-container`};var _hoisted_2={class:`maz-picker-month-switcher__header maz:flex maz:justify-end maz:border-b maz:border-divider maz:p-2`};var MazPickerMonthSwitcher_default=_plugin_vue_export_helper_default(defineComponent({__name:`MazPickerMonthSwitcher`,props:{calendarDate:{type:String,required:!0},color:{type:String,required:!0},locale:{type:String,required:!0},double:{type:Boolean,required:!0}},emits:[`update:calendar-date`,`close`],setup(__props,{emit:__emit}){let props=__props;let emits=__emit;let months=computed(()=>Array.from({length:12},(_v,i)=>i).map(monthNumber=>{let monthDate=dayjs(props.calendarDate).set(`month`,monthNumber);return props.double?{label:`${capitalize(formatDate(monthDate.format(),props.locale,{month:`short`})??monthDate.add(1,`month`).format())} - ${capitalize(formatDate(monthDate.add(1,`month`).format(),props.locale,{month:`short`})??monthDate.add(1,`month`).format())}`,date:monthDate}:{label:capitalize(formatDate(monthDate.format(),props.locale,{month:`long`})??monthDate.format()),date:monthDate}}));function selectMonth(date){emits(`update:calendar-date`,date.format()),emits(`close`)}return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1,[createElementVNode(`div`,_hoisted_2,[createVNode(MazBtn_default,{size:`xs`,color:`transparent`,type:`button`,onClick:_cache[0]||=withModifiers($event=>_ctx.$emit(`close`,$event),[`stop`])},{default:withCtx(()=>[createVNode(MazIcon_default,{icon:unref(MazXMark),class:`maz:text-lg`},null,8,[`icon`])]),_:1})]),createElementVNode(`div`,{class:normalizeClass([`maz-picker-month-switcher__main maz:grid maz:flex-1 maz:flex-center maz:gap-1 maz:overflow-y-auto maz:p-2`,[__props.double?`--has-double`:``,__props.double?`maz:grid-cols-3`:`maz:grid-cols-2`]])},[(openBlock(!0),createElementBlock(Fragment,null,renderList(months.value,month=>(openBlock(),createBlock(MazBtn_default,{key:month.label,size:props.double?`sm`:`xs`,class:normalizeClass({"--is-selected":unref(isSameDate)(month.date,__props.calendarDate,`month`)}),color:unref(isSameDate)(month.date,__props.calendarDate,`month`)?__props.color:`transparent`,type:`button`,onClick:withModifiers($event=>selectMonth(month.date),[`stop`])},{default:withCtx(()=>[createTextVNode(toDisplayString(month.label),1)]),_:2},1032,[`size`,`class`,`color`,`onClick`]))),128))],2)]))}}),[[`__scopeId`,`data-v-89ce5d38`]]);export{MazPickerMonthSwitcher_default as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as _plugin_vue_export_helper_default}from"../../chunks/_plugin-vue_export-helper.zP_plvmB.js";import{t as MazBtn_default}from"../../chunks/MazBtn.
|
|
1
|
+
import{t as _plugin_vue_export_helper_default}from"../../chunks/_plugin-vue_export-helper.zP_plvmB.js";import{t as MazBtn_default}from"../../chunks/MazBtn.C7LV-iX2.js";import{Fragment,createBlock,createElementBlock,createTextVNode,defineComponent,normalizeClass,openBlock,ref,renderList,toDisplayString,watch,withCtx,withModifiers}from"vue";import '../../assets/MazPickerShortcuts.CbWJ5TeL.css';var _hoisted_1={class:`maz-picker-shortcuts maz:flex maz:flex-col maz:items-start maz:gap-1 maz:overflow-y-auto maz:border-e maz:border-divider maz:p-2`};var MazPickerShortcuts_default=_plugin_vue_export_helper_default(defineComponent({__name:`MazPickerShortcuts`,props:{color:{},modelValue:{},shortcuts:{},double:{type:Boolean},shortcut:{},disabled:{type:Boolean}},emits:[`update:model-value`],setup(__props,{emit:__emit}){let props=__props;let emits=__emit;let selectedShortcut=ref(props.shortcut);function selectShortcut(value,identifier){selectedShortcut.value=identifier,emits(`update:model-value`,value)}return watch(()=>props.modelValue,value=>{value?.end||(selectedShortcut.value=void 0)}),watch(()=>props.shortcut,shortcut=>{let newShortcut=props.shortcuts&&props.shortcuts.find(({identifier})=>shortcut===identifier);if(newShortcut){let{value,identifier}=newShortcut;selectShortcut(value,identifier)}},{immediate:!0}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.shortcuts,({identifier,label,value})=>(openBlock(),createBlock(MazBtn_default,{key:identifier,type:`button`,size:`sm`,disabled:__props.disabled,color:identifier===selectedShortcut.value?props.color:`transparent`,class:normalizeClass({"--is-selected":identifier===selectedShortcut.value}),onClick:withModifiers($event=>selectShortcut(value,identifier),[`stop`])},{default:withCtx(()=>[createTextVNode(toDisplayString(label),1)]),_:2},1032,[`disabled`,`color`,`class`,`onClick`]))),128))]))}}),[[`__scopeId`,`data-v-9b6d7c08`]]);export{MazPickerShortcuts_default as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as _plugin_vue_export_helper_default}from"../../chunks/_plugin-vue_export-helper.zP_plvmB.js";import{t as MazBtn_default}from"../../chunks/MazBtn.
|
|
1
|
+
import{t as _plugin_vue_export_helper_default}from"../../chunks/_plugin-vue_export-helper.zP_plvmB.js";import{t as MazBtn_default}from"../../chunks/MazBtn.C7LV-iX2.js";import{_ as scrollToTarget,n as findNearestNumberInList}from"../../chunks/utils.CjLBQJki.js";import{Fragment,computed,createBlock,createElementBlock,createElementVNode,createTextVNode,defineComponent,nextTick,normalizeClass,normalizeStyle,onMounted,openBlock,ref,renderList,toDisplayString,watch,withCtx,withModifiers}from"vue";import dayjs from"dayjs/esm";import '../../assets/MazPickerTime.DjVO29NI.css';var _hoisted_1={class:`m-date-picker-time__column__items maz:flex maz:flex-col`};var MazPickerTime_default=_plugin_vue_export_helper_default(defineComponent({__name:`MazPickerTime`,props:{modelValue:{type:[String,Object],default:void 0},formatterOptions:{type:Object,required:!0},color:{type:String,required:!0},hasDate:{type:Boolean,required:!0},minuteInterval:{type:Number,required:!0},disabledHours:{type:Array,default:void 0},format:{type:String,required:!0},isHour12:{type:Boolean,required:!0},minDate:{type:String,default:void 0},maxDate:{type:String,default:void 0},disabled:{type:Boolean,required:!0}},emits:[`update:model-value`],setup(__props,{emit:__emit}){let props=__props;let emits=__emit;let currentDate=computed({get:()=>props.modelValue,set:value=>{emits(`update:model-value`,value)}});let hours=computed(()=>Array.from({length:props.isHour12?12:24},(_v,i)=>i).map(hour=>{let hourBase=hour+ +!!props.isHour12;let hour12or24=getHour12or24(hourBase);let hourValue=dayjs(currentDate.value).set(`hour`,hour12or24);let isDisabled=isDisableHour(hour12or24)||(props.minDate&¤tDate.value?dayjs(props.minDate).isAfter(hourValue,`hour`):!1)||(props.maxDate&¤tDate.value?dayjs(props.maxDate).isBefore(hourValue,`hour`):!1);return{label:`${hourBase<10?`0`:``}${hourBase}`,value:dayjs(currentDate.value).set(`hour`,hour12or24),isDisabled}}));let minutes=computed(()=>{let length=Math.floor(60/props.minuteInterval)-0;return Array.from({length},(_v,i)=>i*props.minuteInterval).map(minute=>{let minuteValue=dayjs(currentDate.value).set(`minute`,minute);let isDisabled=(props.minDate&¤tDate.value?dayjs(props.minDate).isAfter(minuteValue,`minute`):!1)||(props.maxDate&¤tDate.value?dayjs(props.maxDate).isBefore(minuteValue,`minute`):!1);return{label:`${minute<10?`0`:``}${minute}`,value:minuteValue,isDisabled}})});let currentHour=computed(()=>typeof currentDate.value==`string`?findNearestHour(dayjs(currentDate.value).get(`hour`)):void 0);let currentMinute=computed(()=>typeof currentDate.value==`string`?findNearestNumberInList(minutes.value.map(({value})=>value.get(`minute`)),dayjs(currentDate.value).get(`minute`)):void 0);let currentAmpm=computed(()=>typeof currentHour.value==`number`?currentHour.value>=12?`pm`:`am`:void 0);let ampm=computed(()=>props.isHour12?[{label:`AM`,value:`am`},{label:`PM`,value:`pm`}]:[]);let columns=computed(()=>{let columns=[{identifier:`hour`,values:hours.value},{identifier:`minute`,values:minutes.value}];return props.isHour12&&columns.push({identifier:`ampm`,values:ampm.value}),columns});function findNearestHour(hour){if(!props.disabledHours)return hour;let nearHour=findNearestNumberInList(Array.from({length:24},(_v,i)=>i).filter(hour=>!props.disabledHours?.includes(hour)||!0),hour);return nearHour!==hour&&selectTime(`hour`,dayjs(currentDate.value).set(`hour`,nearHour)),nearHour}let MazDatePickerTime=ref();let spacerHeight=ref();function getHour12or24(hourValue){if(props.isHour12){let newValue=currentAmpm.value===`pm`?hourValue+12:hourValue;return newValue===12?0:newValue===24?12:newValue}else return hourValue}function setSpacerHeight(){if(!MazDatePickerTime.value)return;let itemHeight=MazDatePickerTime.value.querySelector(`.m-date-picker-time__column .m-btn`)?.offsetHeight;spacerHeight.value=MazDatePickerTime.value.offsetHeight/2-itemHeight/2}onMounted(()=>{setSpacerHeight(),scrollColumns(!1)}),watch(()=>props.modelValue,async(value,oldValue)=>{value!==oldValue&&(await nextTick(),scrollColumns(!0))},{immediate:!0});function scrollColumns(hasSmoothEffect){scrollColumn(`hour`,hasSmoothEffect),scrollColumn(`minute`,hasSmoothEffect),props.isHour12&&scrollColumn(`ampm`,hasSmoothEffect)}function isDisableHour(value){return(props.disabledHours&&props.disabledHours.includes(value))??!1}function isSelected(identifier,value){return value===`am`||value===`pm`?currentAmpm.value===value:identifier===`hour`?currentHour.value===value.get(identifier):identifier===`minute`?currentMinute.value===value.get(identifier):!1}async function scrollColumn(identifier,hasSmoothEffect=!0){if(!MazDatePickerTime.value)return;let column=MazDatePickerTime.value.querySelector(`.m-date-picker-time__column__${identifier}`);let selectedButton=MazDatePickerTime.value.querySelector(`.m-date-picker-time__column__${identifier} .--is-selected`);spacerHeight.value&&column&&selectedButton&&MazDatePickerTime.value&&(await nextTick(),scrollToTarget(column,selectedButton,spacerHeight.value,hasSmoothEffect))}async function selectTime(identifier,value){let newDate=dayjs(currentDate.value);if(identifier===`hour`&&typeof value==`object`&&(currentDate.value=newDate.set(`hour`,value.get(`hour`)).format()),identifier===`minute`&&typeof value==`object`&&(currentDate.value=newDate.set(`minute`,value.get(`minute`)).format()),identifier===`ampm`&&(currentAmpm.value!==value||!currentHour.value)&&(value===`am`&&(currentDate.value=newDate.set(`hour`,newDate.get(`hour`)).subtract(12,`hour`).format()),value===`pm`)){let baseHour=newDate.get(`hour`);let newHour=baseHour+12>12&&baseHour+12<24?baseHour+12:baseHour===0?12:baseHour;currentDate.value=newDate.set(`hour`,newHour).format()}await nextTick(),scrollColumn(identifier)}return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{ref_key:`MazDatePickerTime`,ref:MazDatePickerTime,class:normalizeClass([`m-date-picker-time maz:relative maz:flex`,{"--has-date maz:border-s maz:border-divider":__props.hasDate}])},[(openBlock(!0),createElementBlock(Fragment,null,renderList(columns.value,({values,identifier},i)=>(openBlock(),createElementBlock(`div`,{key:i,class:normalizeClass([`m-date-picker-time__column maz:flex maz:flex-col maz:overflow-y-auto maz:px-1`,[`m-date-picker-time__column__${identifier}`]])},[createElementVNode(`div`,{style:normalizeStyle({height:`${spacerHeight.value}px`}),class:`m-date-picker-time__column__spacer maz:w-full maz:flex-none`},null,4),createElementVNode(`div`,_hoisted_1,[(openBlock(!0),createElementBlock(Fragment,null,renderList(values,({value,label,isDisabled},unitIndex)=>(openBlock(),createBlock(MazBtn_default,{key:unitIndex,size:`xs`,color:isSelected(identifier,value)?__props.color:`transparent`,class:normalizeClass({"--is-selected":isSelected(identifier,value)}),disabled:isDisabled||__props.disabled,type:`button`,onClick:withModifiers($event=>selectTime(identifier,value),[`stop`])},{default:withCtx(()=>[createTextVNode(toDisplayString(label),1)]),_:2},1032,[`color`,`class`,`disabled`,`onClick`]))),128))]),createElementVNode(`div`,{style:normalizeStyle({height:`${spacerHeight.value}px`}),class:`m-date-picker-time__column__spacer maz:w-full maz:flex-none`},null,4)],2))),128))],2))}}),[[`__scopeId`,`data-v-56641988`]]);export{MazPickerTime_default as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as MazIcon_default}from"../../chunks/MazIcon.CblJ-8Iu.js";import{t as MazBtn_default}from"../../chunks/MazBtn.
|
|
1
|
+
import{t as MazIcon_default}from"../../chunks/MazIcon.CblJ-8Iu.js";import{t as MazBtn_default}from"../../chunks/MazBtn.C7LV-iX2.js";import{f as isSameDate}from"../../chunks/utils.CjLBQJki.js";import{Fragment,computed,createBlock,createElementBlock,createElementVNode,createTextVNode,createVNode,defineComponent,normalizeClass,openBlock,ref,renderList,toDisplayString,unref,withCtx,withModifiers}from"vue";import{MazChevronLeft}from"@maz-ui/icons/raw/MazChevronLeft";import{MazXMark}from"@maz-ui/icons/raw/MazXMark";import{formatDate}from"@maz-ui/utils/helpers/formatDate";import dayjs from"dayjs/esm";var _hoisted_1={class:`maz-picker-year-switcher maz:absolute maz:inset-0 maz:z-1 maz:flex maz:flex-col maz:bg-container`};var _hoisted_2={class:`maz-picker-year-switcher__header maz:flex maz:justify-between maz:space-x-2 maz:border-b maz:border-divider maz:p-2`};var _hoisted_3={class:`maz:flex maz:space-x-2`};var _hoisted_4={class:`maz-picker-year-switcher__main maz:grid maz:flex-1 maz:grid-cols-3 maz:flex-center maz:gap-2 maz:overflow-y-auto maz:p-2`};var MazPickerYearSwitcher_default=defineComponent({__name:`MazPickerYearSwitcher`,props:{color:{type:String,required:!0},locale:{type:String,required:!0},calendarDate:{type:String,required:!0}},emits:[`update:calendar-date`,`close`],setup(__props,{emit:__emit}){let props=__props;let emits=__emit;let currentDateTmp=ref(props.calendarDate);let years=computed(()=>Array.from({length:15},(_v,i)=>i-7).map(yearNumber=>{let currentYear=dayjs(currentDateTmp.value).get(`year`);let dateYear=dayjs(currentDateTmp.value).set(`year`,currentYear+yearNumber);return{label:formatDate(dateYear.format(),props.locale,{year:`numeric`})??dateYear.format(),date:dateYear}}));function selectYear(date){emits(`update:calendar-date`,dayjs(date).format()),emits(`close`)}function previousYears(){currentDateTmp.value=dayjs(currentDateTmp.value).subtract(7,`year`).format()}function nextYears(){currentDateTmp.value=dayjs(currentDateTmp.value).add(7,`year`).format()}return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1,[createElementVNode(`div`,_hoisted_2,[createElementVNode(`div`,_hoisted_3,[createVNode(MazBtn_default,{size:`xs`,color:`transparent`,type:`button`,onClick:withModifiers(previousYears,[`stop`])},{default:withCtx(()=>[createVNode(MazIcon_default,{icon:unref(MazChevronLeft),class:`maz:text-lg`},null,8,[`icon`])]),_:1}),createVNode(MazBtn_default,{size:`xs`,color:`transparent`,type:`button`,onClick:withModifiers(nextYears,[`stop`])},{default:withCtx(()=>[createVNode(MazIcon_default,{icon:unref(MazChevronLeft),class:`maz:rotate-180 maz:text-lg`},null,8,[`icon`])]),_:1})]),createVNode(MazBtn_default,{size:`xs`,color:`transparent`,type:`button`,onClick:_cache[0]||=withModifiers($event=>_ctx.$emit(`close`,$event),[`stop`])},{default:withCtx(()=>[createVNode(MazIcon_default,{icon:unref(MazXMark),class:`maz:text-lg`},null,8,[`icon`])]),_:1})]),createElementVNode(`div`,_hoisted_4,[(openBlock(!0),createElementBlock(Fragment,null,renderList(years.value,year=>(openBlock(),createBlock(MazBtn_default,{key:year.label,size:`sm`,type:`button`,class:normalizeClass({"--is-selected":unref(isSameDate)(year.date,__props.calendarDate,`year`)}),color:unref(isSameDate)(year.date,__props.calendarDate,`year`)?__props.color:`transparent`,onClick:withModifiers($event=>selectYear(year.date),[`stop`])},{default:withCtx(()=>[createTextVNode(toDisplayString(year.label),1)]),_:2},1032,[`class`,`color`,`onClick`]))),128))])]))}});export{MazPickerYearSwitcher_default as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as MazDropdown_default}from"../chunks/MazDropdown.
|
|
1
|
+
import{t as MazDropdown_default}from"../chunks/MazDropdown.D-KqWLC2.js";export{MazDropdown_default as default};
|