vue3-steppy 1.4.0 → 1.5.0

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.
@@ -0,0 +1,2 @@
1
+ (function(){"use strict";try{if(typeof document!="undefined"){var t=document.createElement("style");t.appendChild(document.createTextNode("body[data-v-8a738045]{width:100%;height:100vh;display:flex;align-items:center;justify-content:center;font-family:sans-serif}.tx-default-2[data-v-8a738045]{color:var(--primaryColor1);font-weight:600}.wrapper-steppy[data-v-8a738045]{padding:60px}.steppy[data-v-8a738045]{display:flex;align-items:center;justify-content:space-between;width:auto;position:relative;z-index:0;margin-bottom:5px}.steppy-progress[data-v-8a738045]{position:absolute;background-color:#c5c5c5;height:2px;z-index:-1;left:0;right:0;margin:0 auto}.steppy-progress-bar[data-v-8a738045]{position:absolute;left:0;height:100%;width:0;background-color:var(--primaryColor1);transition:all .5s ease}.steppy-item[data-v-8a738045]{display:flex;flex-direction:column;align-items:center;color:#c5c5c5;transition:all .5s ease}.steppy-item-counter[data-v-8a738045]{height:68px;width:68px;display:grid;place-items:center;background-color:var(--primaryColor2);border-radius:100%;border:2px solid #c5c5c5;position:relative}.steppy-item-counter .icon-success[data-v-8a738045]{position:absolute;opacity:0;transform:scale(0);width:24px;transition:all .5s ease}.steppy-item-counter .number[data-v-8a738045]{font-size:22px;transition:all .5s ease}.steppy-item-title[data-v-8a738045]{position:absolute;text-align:center;font-size:14px;bottom:-43px}.steppy-item.success .steppy-item-counter[data-v-8a738045]{border-color:var(--primaryColor1);font-weight:600;height:var(--circleSize);width:var(--circleSize)}.steppy-item.success .steppy-item-counter .icon-success[data-v-8a738045]{opacity:1;transform:scale(1);width:calc(var(--circleSize) * .35)}.steppy-item.success .steppy-item-counter .number[data-v-8a738045]{opacity:0;transform:scale(0);font-size:calc(var(--circleSize) * .32)}.steppy-item.success .steppy-item-title[data-v-8a738045]{color:var(--primaryColor1)}.steppy-item.current .steppy-item-counter[data-v-8a738045]{border-color:var(--primaryColor1);background-color:var(--primaryColor1);color:#fff;font-weight:600}.steppy-item.current .steppy-item-title[data-v-8a738045]{color:#818181}.steppy-pane[data-v-8a738045]{color:#333;text-align:center;background-color:var(--backgroundColor);border-radius:15px;padding:25px;box-shadow:0 0 10px #0000004d;margin:60px 0 20px}.controls[data-v-8a738045]{display:flex}.btn[data-v-8a738045]{display:flex;justify-content:center;align-items:center;padding:6px 16px;text-align:center;vertical-align:middle;cursor:pointer;line-height:1.5;transition:all .15s;border-radius:4px;width:fit-content;font-size:.75rem;color:#333;background-color:#f0f0f0;border:1px solid #f0f0f0}.btn[data-v-8a738045]:disabled{opacity:.5;pointer-events:none}.btn--default-2[data-v-8a738045]{background-color:var(--primaryColor1);border-color:var(--primaryColor1);color:#fff;margin-left:auto}.loader[data-v-8a738045]{width:20px;height:20px;border:2px solid #fff;border-bottom-color:transparent;border-radius:50%;display:inline-block;box-sizing:border-box;animation:rotation-8a738045 1s linear infinite}@keyframes rotation-8a738045{0%{transform:rotate(0)}to{transform:rotate(360deg)}}")),document.head.appendChild(t)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})();
2
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),m=e.createElementVNode("path",{d:"M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z"},null,-1),k=[m],_={__name:"CheckMark",props:{color:{type:String,default:"black"}},setup(o){return(n,s)=>(e.openBlock(),e.createElementBlock("svg",{viewBox:"0 0 24 24",style:e.normalizeStyle({fill:o.color})},k,4))}};const S=(o,n)=>{const s=o.__vccOpts||o;for(const[t,a]of n)s[t]=a;return s},b={class:"steppy"},g={class:"steppy-progress"},f=["src"],B={class:"number"},h={class:"steppy-item-title"},v={key:0,class:"steppy-pane"},E={class:"controls"},C=["disabled"],V=["disabled"],z={key:0,class:"loader"},N={key:1},x={__name:"Vue3Steppy",props:{step:{type:Number,default:1},tabs:{type:Array,default:e.reactive([{title:"Step 1",iconSuccess:null,isValid:!0},{title:"Step 2",iconSuccess:null,isValid:!0},{title:"Step 3",iconSuccess:null,isValid:!0}])},finalize:{type:Function,default:function(){return{}}},backText:{type:String,default:"Back"},nextText:{type:String,default:"Next"},doneText:{type:String,default:"Done"},loading:{type:Boolean,default:!1},primaryColor1:{type:String,default:"orange"},primaryColor2:{type:String,default:"#fff"},backgroundColor:{type:String,default:"#fff"},circleSize:{type:Number,default:68}},emits:["update:step"],setup(o,{emit:n}){const s=n,t=o,a=e.computed(()=>({"--primaryColor1":t.primaryColor1,"--primaryColor2":t.primaryColor2,"--backgroundColor":t.backgroundColor,"--circleSize":`${t.circleSize}px`})),p=()=>{const c=t.step+1;s("update:step",c)},u=()=>{const c=t.step-1;s("update:step",c)},d=e.computed(()=>100/(t.tabs.length-1)*(t.step-1)+"%"),y=e.computed(()=>({height:`${t.circleSize}px`,width:`${t.circleSize}px`}));return(c,i)=>(e.openBlock(),e.createElementBlock("div",{class:"wrapper-steppy",style:e.normalizeStyle(a.value)},[e.createElementVNode("div",b,[e.createElementVNode("div",g,[e.createElementVNode("div",{class:"steppy-progress-bar",style:e.normalizeStyle("width:"+d.value)},null,4)]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.tabs,(l,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["steppy-item",{current:t.step===r+1,success:t.step>r+1}]),key:r},[e.createElementVNode("div",{class:"steppy-item-counter",style:e.normalizeStyle(y.value)},[l.iconSuccess?(e.openBlock(),e.createElementBlock("img",{key:0,class:"icon-success",src:l.iconSuccess,alt:"Check Mark"},null,8,f)):(e.openBlock(),e.createBlock(_,{key:1,class:"icon-success",color:o.primaryColor1,alt:"Check Mark"},null,8,["color"])),e.createElementVNode("span",B,e.toDisplayString(r+1),1)],4),e.createElementVNode("span",h,e.toDisplayString(l.title),1)],2))),128))]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.tabs.length,l=>(e.openBlock(),e.createElementBlock("div",{class:"steppy-content",key:l},[t.step===l?(e.openBlock(),e.createElementBlock("div",v,[e.renderSlot(c.$slots,l,{},void 0,!0)])):e.createCommentVNode("",!0)]))),128)),e.createElementVNode("div",E,[t.step!==1?(e.openBlock(),e.createElementBlock("button",{key:0,class:"btn",type:"button",onClick:u},e.toDisplayString(t.backText),1)):e.createCommentVNode("",!0),t.step!==t.tabs.length?(e.openBlock(),e.createElementBlock("button",{key:1,class:"btn btn--default-2",type:"button",onClick:p,disabled:!t.tabs[t.step-1].isValid},e.toDisplayString(t.nextText),9,C)):(e.openBlock(),e.createElementBlock("button",{key:2,class:"btn btn--default-2",type:"button",onClick:i[0]||(i[0]=(...l)=>o.finalize&&o.finalize(...l)),disabled:!t.tabs[t.step-1].isValid||o.loading},[o.loading?(e.openBlock(),e.createElementBlock("span",z)):(e.openBlock(),e.createElementBlock("span",N,e.toDisplayString(t.doneText),1))],8,V))])],4))}},T=S(x,[["__scopeId","data-v-8a738045"]]);exports.Steppy=T;
@@ -0,0 +1,21 @@
1
+ declare module '@/components/Vue3Steppy.vue' {
2
+ import { DefineComponent } from 'vue';
3
+
4
+ export interface SteppyProps {
5
+ step: number;
6
+ tabs: Array<{ title: string; iconSuccess?: string; isValid: boolean; }>;
7
+ finalize: () => void;
8
+ backText: string;
9
+ nextText: string;
10
+ doneText: string;
11
+ loading: boolean;
12
+ primaryColor1: string;
13
+ primaryColor2: string;
14
+ backgroundColor: string;
15
+ circleSize: number;
16
+ }
17
+
18
+ const Steppy: DefineComponent<SteppyProps>;
19
+
20
+ export default Steppy;
21
+ }
@@ -0,0 +1,2 @@
1
+ (function(){"use strict";try{if(typeof document!="undefined"){var t=document.createElement("style");t.appendChild(document.createTextNode("body[data-v-8a738045]{width:100%;height:100vh;display:flex;align-items:center;justify-content:center;font-family:sans-serif}.tx-default-2[data-v-8a738045]{color:var(--primaryColor1);font-weight:600}.wrapper-steppy[data-v-8a738045]{padding:60px}.steppy[data-v-8a738045]{display:flex;align-items:center;justify-content:space-between;width:auto;position:relative;z-index:0;margin-bottom:5px}.steppy-progress[data-v-8a738045]{position:absolute;background-color:#c5c5c5;height:2px;z-index:-1;left:0;right:0;margin:0 auto}.steppy-progress-bar[data-v-8a738045]{position:absolute;left:0;height:100%;width:0;background-color:var(--primaryColor1);transition:all .5s ease}.steppy-item[data-v-8a738045]{display:flex;flex-direction:column;align-items:center;color:#c5c5c5;transition:all .5s ease}.steppy-item-counter[data-v-8a738045]{height:68px;width:68px;display:grid;place-items:center;background-color:var(--primaryColor2);border-radius:100%;border:2px solid #c5c5c5;position:relative}.steppy-item-counter .icon-success[data-v-8a738045]{position:absolute;opacity:0;transform:scale(0);width:24px;transition:all .5s ease}.steppy-item-counter .number[data-v-8a738045]{font-size:22px;transition:all .5s ease}.steppy-item-title[data-v-8a738045]{position:absolute;text-align:center;font-size:14px;bottom:-43px}.steppy-item.success .steppy-item-counter[data-v-8a738045]{border-color:var(--primaryColor1);font-weight:600;height:var(--circleSize);width:var(--circleSize)}.steppy-item.success .steppy-item-counter .icon-success[data-v-8a738045]{opacity:1;transform:scale(1);width:calc(var(--circleSize) * .35)}.steppy-item.success .steppy-item-counter .number[data-v-8a738045]{opacity:0;transform:scale(0);font-size:calc(var(--circleSize) * .32)}.steppy-item.success .steppy-item-title[data-v-8a738045]{color:var(--primaryColor1)}.steppy-item.current .steppy-item-counter[data-v-8a738045]{border-color:var(--primaryColor1);background-color:var(--primaryColor1);color:#fff;font-weight:600}.steppy-item.current .steppy-item-title[data-v-8a738045]{color:#818181}.steppy-pane[data-v-8a738045]{color:#333;text-align:center;background-color:var(--backgroundColor);border-radius:15px;padding:25px;box-shadow:0 0 10px #0000004d;margin:60px 0 20px}.controls[data-v-8a738045]{display:flex}.btn[data-v-8a738045]{display:flex;justify-content:center;align-items:center;padding:6px 16px;text-align:center;vertical-align:middle;cursor:pointer;line-height:1.5;transition:all .15s;border-radius:4px;width:fit-content;font-size:.75rem;color:#333;background-color:#f0f0f0;border:1px solid #f0f0f0}.btn[data-v-8a738045]:disabled{opacity:.5;pointer-events:none}.btn--default-2[data-v-8a738045]{background-color:var(--primaryColor1);border-color:var(--primaryColor1);color:#fff;margin-left:auto}.loader[data-v-8a738045]{width:20px;height:20px;border:2px solid #fff;border-bottom-color:transparent;border-radius:50%;display:inline-block;box-sizing:border-box;animation:rotation-8a738045 1s linear infinite}@keyframes rotation-8a738045{0%{transform:rotate(0)}to{transform:rotate(360deg)}}")),document.head.appendChild(t)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})();
2
+ (function(l,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(l=typeof globalThis<"u"?globalThis:l||self,e(l.Vue3Steppy={},l.Vue))})(this,function(l,e){"use strict";const d=[e.createElementVNode("path",{d:"M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z"},null,-1)],y={__name:"CheckMark",props:{color:{type:String,default:"black"}},setup(o){return(r,n)=>(e.openBlock(),e.createElementBlock("svg",{viewBox:"0 0 24 24",style:e.normalizeStyle({fill:o.color})},d,4))}},M="",m=(o,r)=>{const n=o.__vccOpts||o;for(const[t,i]of r)n[t]=i;return n},k={class:"steppy"},f={class:"steppy-progress"},_=["src"],u={class:"number"},S={class:"steppy-item-title"},b={key:0,class:"steppy-pane"},g={class:"controls"},B=["disabled"],h=["disabled"],E={key:0,class:"loader"},V={key:1},C={__name:"Vue3Steppy",props:{step:{type:Number,default:1},tabs:{type:Array,default:e.reactive([{title:"Step 1",iconSuccess:null,isValid:!0},{title:"Step 2",iconSuccess:null,isValid:!0},{title:"Step 3",iconSuccess:null,isValid:!0}])},finalize:{type:Function,default:function(){return{}}},backText:{type:String,default:"Back"},nextText:{type:String,default:"Next"},doneText:{type:String,default:"Done"},loading:{type:Boolean,default:!1},primaryColor1:{type:String,default:"orange"},primaryColor2:{type:String,default:"#fff"},backgroundColor:{type:String,default:"#fff"},circleSize:{type:Number,default:68}},emits:["update:step"],setup(o,{emit:r}){const n=r,t=o,i=e.computed(()=>({"--primaryColor1":t.primaryColor1,"--primaryColor2":t.primaryColor2,"--backgroundColor":t.backgroundColor,"--circleSize":`${t.circleSize}px`})),x=()=>{const c=t.step+1;n("update:step",c)},N=()=>{const c=t.step-1;n("update:step",c)},T=e.computed(()=>100/(t.tabs.length-1)*(t.step-1)+"%"),$=e.computed(()=>({height:`${t.circleSize}px`,width:`${t.circleSize}px`}));return(c,p)=>(e.openBlock(),e.createElementBlock("div",{class:"wrapper-steppy",style:e.normalizeStyle(i.value)},[e.createElementVNode("div",k,[e.createElementVNode("div",f,[e.createElementVNode("div",{class:"steppy-progress-bar",style:e.normalizeStyle("width:"+T.value)},null,4)]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.tabs,(s,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["steppy-item",{current:t.step===a+1,success:t.step>a+1}]),key:a},[e.createElementVNode("div",{class:"steppy-item-counter",style:e.normalizeStyle($.value)},[s.iconSuccess?(e.openBlock(),e.createElementBlock("img",{key:0,class:"icon-success",src:s.iconSuccess,alt:"Check Mark"},null,8,_)):(e.openBlock(),e.createBlock(y,{key:1,class:"icon-success",color:o.primaryColor1,alt:"Check Mark"},null,8,["color"])),e.createElementVNode("span",u,e.toDisplayString(a+1),1)],4),e.createElementVNode("span",S,e.toDisplayString(s.title),1)],2))),128))]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.tabs.length,s=>(e.openBlock(),e.createElementBlock("div",{class:"steppy-content",key:s},[t.step===s?(e.openBlock(),e.createElementBlock("div",b,[e.renderSlot(c.$slots,s,{},void 0,!0)])):e.createCommentVNode("",!0)]))),128)),e.createElementVNode("div",g,[t.step!==1?(e.openBlock(),e.createElementBlock("button",{key:0,class:"btn",type:"button",onClick:N},e.toDisplayString(t.backText),1)):e.createCommentVNode("",!0),t.step!==t.tabs.length?(e.openBlock(),e.createElementBlock("button",{key:1,class:"btn btn--default-2",type:"button",onClick:x,disabled:!t.tabs[t.step-1].isValid},e.toDisplayString(t.nextText),9,B)):(e.openBlock(),e.createElementBlock("button",{key:2,class:"btn btn--default-2",type:"button",onClick:p[0]||(p[0]=(...s)=>o.finalize&&o.finalize(...s)),disabled:!t.tabs[t.step-1].isValid||o.loading},[o.loading?(e.openBlock(),e.createElementBlock("span",E)):(e.openBlock(),e.createElementBlock("span",V,e.toDisplayString(t.doneText),1))],8,h))])],4))}},z=m(C,[["__scopeId","data-v-8a738045"]]);l.Steppy=z,Object.defineProperty(l,Symbol.toStringTag,{value:"Module"})});
package/package.json CHANGED
@@ -1,8 +1,7 @@
1
1
  {
2
2
  "name": "vue3-steppy",
3
3
  "description": "A customizable Vue 3 Stepper plugin",
4
- "version": "1.4.0",
5
- "types": "index.d.ts",
4
+ "version": "1.5.0",
6
5
  "type": "module",
7
6
  "private": false,
8
7
  "author": "Mike Konstantakos",
@@ -28,17 +27,20 @@
28
27
  "files": [
29
28
  "dist"
30
29
  ],
31
- "main": "./dist/vue3-steppy.umd.cjs",
32
- "module": "./dist/vue3-steppy.js",
30
+ "main": "./dist/vue3-steppy.cjs.js",
31
+ "module": "./dist/vue3-steppy.es.js",
32
+ "types": "./dist/vue3-steppy.d.ts",
33
+ "typings": "./dist/vue3-steppy.d.ts",
33
34
  "exports": {
34
35
  ".": {
35
- "import": "./dist/vue3-steppy.js",
36
- "require": "./dist/vue3-steppy.umd.cjs"
36
+ "import": "./dist/vue3-steppy.es.js",
37
+ "require": "./dist/vue3-steppy.cjs.js",
38
+ "default": "./dist/vue3-steppy.umd.js"
37
39
  }
38
40
  },
39
41
  "scripts": {
40
42
  "dev": "vite",
41
- "build": "vite build",
43
+ "build": "vite build && shx cp ./src/vue3-steppy.d.ts dist",
42
44
  "predeploy": "npm run build",
43
45
  "deploy": "gh-pages -d dist",
44
46
  "preview": "vite preview",
@@ -50,14 +52,13 @@
50
52
  "devDependencies": {
51
53
  "@rushstack/eslint-patch": "^1.8.0",
52
54
  "@vitejs/plugin-vue": "^4.6.2",
53
- "@vue/cli-plugin-typescript": "^5.0.8",
54
- "@vue/cli-service": "~5.0.8",
55
55
  "@vue/eslint-config-prettier": "^7.1.0",
56
56
  "eslint": "^8.57.0",
57
57
  "eslint-plugin-vue": "^9.23.0",
58
58
  "gh-pages": "^5.0.0",
59
59
  "prettier": "^2.8.8",
60
60
  "sass": "^1.72.0",
61
+ "shx": "^0.3.4",
61
62
  "typescript": "^5.4.3",
62
63
  "vite": "^4.5.2",
63
64
  "vite-plugin-css-injected-by-js": "^2.4.0"
@@ -1,2 +0,0 @@
1
- (function(){"use strict";try{if(typeof document!="undefined"){var t=document.createElement("style");t.appendChild(document.createTextNode("body[data-v-8a738045]{width:100%;height:100vh;display:flex;align-items:center;justify-content:center;font-family:sans-serif}.tx-default-2[data-v-8a738045]{color:var(--primaryColor1);font-weight:600}.wrapper-steppy[data-v-8a738045]{padding:60px}.steppy[data-v-8a738045]{display:flex;align-items:center;justify-content:space-between;width:auto;position:relative;z-index:0;margin-bottom:5px}.steppy-progress[data-v-8a738045]{position:absolute;background-color:#c5c5c5;height:2px;z-index:-1;left:0;right:0;margin:0 auto}.steppy-progress-bar[data-v-8a738045]{position:absolute;left:0;height:100%;width:0;background-color:var(--primaryColor1);transition:all .5s ease}.steppy-item[data-v-8a738045]{display:flex;flex-direction:column;align-items:center;color:#c5c5c5;transition:all .5s ease}.steppy-item-counter[data-v-8a738045]{height:68px;width:68px;display:grid;place-items:center;background-color:var(--primaryColor2);border-radius:100%;border:2px solid #c5c5c5;position:relative}.steppy-item-counter .icon-success[data-v-8a738045]{position:absolute;opacity:0;transform:scale(0);width:24px;transition:all .5s ease}.steppy-item-counter .number[data-v-8a738045]{font-size:22px;transition:all .5s ease}.steppy-item-title[data-v-8a738045]{position:absolute;text-align:center;font-size:14px;bottom:-43px}.steppy-item.success .steppy-item-counter[data-v-8a738045]{border-color:var(--primaryColor1);font-weight:600;height:var(--circleSize);width:var(--circleSize)}.steppy-item.success .steppy-item-counter .icon-success[data-v-8a738045]{opacity:1;transform:scale(1);width:calc(var(--circleSize) * .35)}.steppy-item.success .steppy-item-counter .number[data-v-8a738045]{opacity:0;transform:scale(0);font-size:calc(var(--circleSize) * .32)}.steppy-item.success .steppy-item-title[data-v-8a738045]{color:var(--primaryColor1)}.steppy-item.current .steppy-item-counter[data-v-8a738045]{border-color:var(--primaryColor1);background-color:var(--primaryColor1);color:#fff;font-weight:600}.steppy-item.current .steppy-item-title[data-v-8a738045]{color:#818181}.steppy-pane[data-v-8a738045]{color:#333;text-align:center;background-color:var(--backgroundColor);border-radius:15px;padding:25px;box-shadow:0 0 10px #0000004d;margin:60px 0 20px}.controls[data-v-8a738045]{display:flex}.btn[data-v-8a738045]{display:flex;justify-content:center;align-items:center;padding:6px 16px;text-align:center;vertical-align:middle;cursor:pointer;line-height:1.5;transition:all .15s;border-radius:4px;width:fit-content;font-size:.75rem;color:#333;background-color:#f0f0f0;border:1px solid #f0f0f0}.btn[data-v-8a738045]:disabled{opacity:.5;pointer-events:none}.btn--default-2[data-v-8a738045]{background-color:var(--primaryColor1);border-color:var(--primaryColor1);color:#fff;margin-left:auto}.loader[data-v-8a738045]{width:20px;height:20px;border:2px solid #fff;border-bottom-color:transparent;border-radius:50%;display:inline-block;box-sizing:border-box;animation:rotation-8a738045 1s linear infinite}@keyframes rotation-8a738045{0%{transform:rotate(0)}to{transform:rotate(360deg)}}")),document.head.appendChild(t)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})();
2
- (function(l,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(l=typeof globalThis<"u"?globalThis:l||self,e(l["vue3-steppy"]={},l.Vue))})(this,function(l,e){"use strict";const d=[e.createElementVNode("path",{d:"M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z"},null,-1)],y={__name:"CheckMark",props:{color:{type:String,default:"black"}},setup(o){return(r,n)=>(e.openBlock(),e.createElementBlock("svg",{viewBox:"0 0 24 24",style:e.normalizeStyle({fill:o.color})},d,4))}},M="",m=(o,r)=>{const n=o.__vccOpts||o;for(const[t,i]of r)n[t]=i;return n},k={class:"steppy"},f={class:"steppy-progress"},_=["src"],u={class:"number"},S={class:"steppy-item-title"},b={key:0,class:"steppy-pane"},g={class:"controls"},B=["disabled"],h=["disabled"],E={key:0,class:"loader"},V={key:1},C={__name:"Vue3Steppy",props:{step:{type:Number,default:1},tabs:{type:Array,default:e.reactive([{title:"Step 1",iconSuccess:null,isValid:!0},{title:"Step 2",iconSuccess:null,isValid:!0},{title:"Step 3",iconSuccess:null,isValid:!0}])},finalize:{type:Function,default:function(){return{}}},backText:{type:String,default:"Back"},nextText:{type:String,default:"Next"},doneText:{type:String,default:"Done"},loading:{type:Boolean,default:!1},primaryColor1:{type:String,default:"orange"},primaryColor2:{type:String,default:"#fff"},backgroundColor:{type:String,default:"#fff"},circleSize:{type:Number,default:68}},emits:["update:step"],setup(o,{emit:r}){const n=r,t=o,i=e.computed(()=>({"--primaryColor1":t.primaryColor1,"--primaryColor2":t.primaryColor2,"--backgroundColor":t.backgroundColor,"--circleSize":`${t.circleSize}px`})),x=()=>{const c=t.step+1;n("update:step",c)},N=()=>{const c=t.step-1;n("update:step",c)},T=e.computed(()=>100/(t.tabs.length-1)*(t.step-1)+"%"),$=e.computed(()=>({height:`${t.circleSize}px`,width:`${t.circleSize}px`}));return(c,p)=>(e.openBlock(),e.createElementBlock("div",{class:"wrapper-steppy",style:e.normalizeStyle(i.value)},[e.createElementVNode("div",k,[e.createElementVNode("div",f,[e.createElementVNode("div",{class:"steppy-progress-bar",style:e.normalizeStyle("width:"+T.value)},null,4)]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.tabs,(s,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["steppy-item",{current:t.step===a+1,success:t.step>a+1}]),key:a},[e.createElementVNode("div",{class:"steppy-item-counter",style:e.normalizeStyle($.value)},[s.iconSuccess?(e.openBlock(),e.createElementBlock("img",{key:0,class:"icon-success",src:s.iconSuccess,alt:"Check Mark"},null,8,_)):(e.openBlock(),e.createBlock(y,{key:1,class:"icon-success",color:o.primaryColor1,alt:"Check Mark"},null,8,["color"])),e.createElementVNode("span",u,e.toDisplayString(a+1),1)],4),e.createElementVNode("span",S,e.toDisplayString(s.title),1)],2))),128))]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.tabs.length,s=>(e.openBlock(),e.createElementBlock("div",{class:"steppy-content",key:s},[t.step===s?(e.openBlock(),e.createElementBlock("div",b,[e.renderSlot(c.$slots,s,{},void 0,!0)])):e.createCommentVNode("",!0)]))),128)),e.createElementVNode("div",g,[t.step!==1?(e.openBlock(),e.createElementBlock("button",{key:0,class:"btn",type:"button",onClick:N},e.toDisplayString(t.backText),1)):e.createCommentVNode("",!0),t.step!==t.tabs.length?(e.openBlock(),e.createElementBlock("button",{key:1,class:"btn btn--default-2",type:"button",onClick:x,disabled:!t.tabs[t.step-1].isValid},e.toDisplayString(t.nextText),9,B)):(e.openBlock(),e.createElementBlock("button",{key:2,class:"btn btn--default-2",type:"button",onClick:p[0]||(p[0]=(...s)=>o.finalize&&o.finalize(...s)),disabled:!t.tabs[t.step-1].isValid||o.loading},[o.loading?(e.openBlock(),e.createElementBlock("span",E)):(e.openBlock(),e.createElementBlock("span",V,e.toDisplayString(t.doneText),1))],8,h))])],4))}},z=m(C,[["__scopeId","data-v-8a738045"]]);l.Steppy=z,Object.defineProperty(l,Symbol.toStringTag,{value:"Module"})});
File without changes