@frollo/frollo-web-ui 0.2.2 → 0.2.3

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/cjs/index.js CHANGED
@@ -4603,7 +4603,7 @@ $$3({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE }, {
4603
4603
  });
4604
4604
 
4605
4605
  // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
4606
- addToUnscopables$1('includes');var script$7 = vue.defineComponent({
4606
+ addToUnscopables$1('includes');var script$8 = vue.defineComponent({
4607
4607
  name: 'FwInput',
4608
4608
  emits: ['update:modelValue'],
4609
4609
  components: {
@@ -4720,20 +4720,20 @@ if (DESCRIPTORS$1 && !FUNCTION_NAME_EXISTS) {
4720
4720
  }
4721
4721
  }
4722
4722
  });
4723
- }var _hoisted_1$8 = {
4723
+ }var _hoisted_1$9 = {
4724
4724
  "class": "fw-input w-full"
4725
4725
  };
4726
- var _hoisted_2$7 = {
4726
+ var _hoisted_2$8 = {
4727
4727
  "class": "flex flex-col"
4728
4728
  };
4729
- var _hoisted_3$6 = {
4729
+ var _hoisted_3$7 = {
4730
4730
  "class": "flex flex-row justify-between"
4731
4731
  };
4732
- var _hoisted_4$6 = ["for"];
4733
- var _hoisted_5$3 = {
4732
+ var _hoisted_4$7 = ["for"];
4733
+ var _hoisted_5$4 = {
4734
4734
  key: 1
4735
4735
  };
4736
- var _hoisted_6$3 = {
4736
+ var _hoisted_6$4 = {
4737
4737
  "class": "relative"
4738
4738
  };
4739
4739
  var _hoisted_7$3 = {
@@ -4768,10 +4768,10 @@ var _hoisted_13 = {
4768
4768
  var _hoisted_14 = {
4769
4769
  key: 1
4770
4770
  };
4771
- function render$9(_ctx, _cache, $props, $setup, $data, $options) {
4771
+ function render$a(_ctx, _cache, $props, $setup, $data, $options) {
4772
4772
  var _component_InputField = vue.resolveComponent("InputField");
4773
4773
 
4774
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$8, [vue.createVNode(_component_InputField, {
4774
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$9, [vue.createVNode(_component_InputField, {
4775
4775
  modelValue: _ctx.inputValue,
4776
4776
  "onUpdate:modelValue": _cache[0] || (_cache[0] = function ($event) {
4777
4777
  return _ctx.inputValue = $event;
@@ -4784,11 +4784,11 @@ function render$9(_ctx, _cache, $props, $setup, $data, $options) {
4784
4784
  errors = _ref.errors,
4785
4785
  errorMessage = _ref.errorMessage,
4786
4786
  meta = _ref.meta;
4787
- return [vue.createElementVNode("div", _hoisted_2$7, [vue.createElementVNode("div", _hoisted_3$6, [_ctx.label ? (vue.openBlock(), vue.createElementBlock("label", {
4787
+ return [vue.createElementVNode("div", _hoisted_2$8, [vue.createElementVNode("div", _hoisted_3$7, [_ctx.label ? (vue.openBlock(), vue.createElementBlock("label", {
4788
4788
  key: 0,
4789
4789
  "for": _ctx.name,
4790
4790
  "class": "block mb-2"
4791
- }, vue.toDisplayString(_ctx.label), 9, _hoisted_4$6)) : vue.createCommentVNode("", true), _ctx.$slots.action ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$3, [vue.renderSlot(_ctx.$slots, "action")])) : vue.createCommentVNode("", true)]), vue.createElementVNode("div", _hoisted_6$3, [_ctx.$slots.prefix ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$3, [vue.renderSlot(_ctx.$slots, "prefix")])) : vue.createCommentVNode("", true), vue.createElementVNode("input", vue.mergeProps(field, {
4791
+ }, vue.toDisplayString(_ctx.label), 9, _hoisted_4$7)) : vue.createCommentVNode("", true), _ctx.$slots.action ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$4, [vue.renderSlot(_ctx.$slots, "action")])) : vue.createCommentVNode("", true)]), vue.createElementVNode("div", _hoisted_6$4, [_ctx.$slots.prefix ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$3, [vue.renderSlot(_ctx.$slots, "prefix")])) : vue.createCommentVNode("", true), vue.createElementVNode("input", vue.mergeProps(field, {
4792
4792
  placeholder: _ctx.placeholder,
4793
4793
  type: _ctx.type,
4794
4794
  readonly: _ctx.readonly,
@@ -4847,7 +4847,7 @@ function render$9(_ctx, _cache, $props, $setup, $data, $options) {
4847
4847
  }
4848
4848
  }var css_248z$6 = ".fwFadeIn-enter-active{-webkit-animation:fwFadeIn .35s;animation:fwFadeIn .35s;-webkit-transition:opacity .35s ease-in;-o-transition:opacity .35s ease-in;transition:opacity .35s ease-in}.fwFadeIn-leave-active{animation:fwFadeIn .35s reverse;-webkit-transition:opacity .35s ease-out;-o-transition:opacity .35s ease-out;transition:opacity .35s ease-out}@-webkit-keyframes fwFadeIn{0%{opacity:0}to{opacity:1}}@keyframes fwFadeIn{0%{opacity:0}to{opacity:1}}";
4849
4849
  var stylesheet$6 = ".fwFadeIn-enter-active{-webkit-animation:fwFadeIn .35s;animation:fwFadeIn .35s;-webkit-transition:opacity .35s ease-in;-o-transition:opacity .35s ease-in;transition:opacity .35s ease-in}.fwFadeIn-leave-active{animation:fwFadeIn .35s reverse;-webkit-transition:opacity .35s ease-out;-o-transition:opacity .35s ease-out;transition:opacity .35s ease-out}@-webkit-keyframes fwFadeIn{0%{opacity:0}to{opacity:1}}@keyframes fwFadeIn{0%{opacity:0}to{opacity:1}}";
4850
- styleInject(css_248z$6);script$7.render = render$9;var script$6 = vue.defineComponent({
4850
+ styleInject(css_248z$6);script$8.render = render$a;var script$7 = vue.defineComponent({
4851
4851
  name: 'FwCheckbox',
4852
4852
  components: {
4853
4853
  InputField: Field
@@ -4886,16 +4886,16 @@ styleInject(css_248z$6);script$7.render = render$9;var script$6 = vue.defineComp
4886
4886
  return vue.pushScopeId("data-v-7423717e"), n = n(), vue.popScopeId(), n;
4887
4887
  };
4888
4888
 
4889
- var _hoisted_1$7 = {
4889
+ var _hoisted_1$8 = {
4890
4890
  "class": "fw-checkbox w-full"
4891
4891
  };
4892
- var _hoisted_2$6 = {
4892
+ var _hoisted_2$7 = {
4893
4893
  "class": "flex flex-col"
4894
4894
  };
4895
- var _hoisted_3$5 = ["for"];
4896
- var _hoisted_4$5 = ["value", "name"];
4897
- var _hoisted_5$2 = ["innerHTML"];
4898
- var _hoisted_6$2 = {
4895
+ var _hoisted_3$6 = ["for"];
4896
+ var _hoisted_4$6 = ["value", "name"];
4897
+ var _hoisted_5$3 = ["innerHTML"];
4898
+ var _hoisted_6$3 = {
4899
4899
  "class": "italic text-sm font-medium min-h-[21px]"
4900
4900
  };
4901
4901
  var _hoisted_7$2 = {
@@ -4905,10 +4905,10 @@ var _hoisted_7$2 = {
4905
4905
  var _hoisted_8$2 = {
4906
4906
  key: 1
4907
4907
  };
4908
- function render$8(_ctx, _cache, $props, $setup, $data, $options) {
4908
+ function render$9(_ctx, _cache, $props, $setup, $data, $options) {
4909
4909
  var _component_InputField = vue.resolveComponent("InputField");
4910
4910
 
4911
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$7, [vue.createVNode(_component_InputField, {
4911
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$8, [vue.createVNode(_component_InputField, {
4912
4912
  name: _ctx.name,
4913
4913
  value: _ctx.name,
4914
4914
  type: "checkbox",
@@ -4919,7 +4919,7 @@ function render$8(_ctx, _cache, $props, $setup, $data, $options) {
4919
4919
  errors = _ref.errors,
4920
4920
  errorMessage = _ref.errorMessage,
4921
4921
  meta = _ref.meta;
4922
- return [vue.createElementVNode("div", _hoisted_2$6, [_ctx.label ? (vue.openBlock(), vue.createElementBlock("label", {
4922
+ return [vue.createElementVNode("div", _hoisted_2$7, [_ctx.label ? (vue.openBlock(), vue.createElementBlock("label", {
4923
4923
  key: 0,
4924
4924
  "for": _ctx.name,
4925
4925
  "class": "inline-flex items-center mb-3"
@@ -4928,10 +4928,10 @@ function render$8(_ctx, _cache, $props, $setup, $data, $options) {
4928
4928
  name: _ctx.name,
4929
4929
  type: "checkbox",
4930
4930
  "class": "text-primary w-6 h-6 cursor-pointer bg-white border-grey-light border rounded"
4931
- }), null, 16, _hoisted_4$5), vue.createElementVNode("span", {
4931
+ }), null, 16, _hoisted_4$6), vue.createElementVNode("span", {
4932
4932
  "class": "ml-2",
4933
4933
  innerHTML: _ctx.label
4934
- }, null, 8, _hoisted_5$2)], 8, _hoisted_3$5)) : vue.createCommentVNode("", true), vue.createElementVNode("div", _hoisted_6$2, [vue.createVNode(vue.Transition, {
4934
+ }, null, 8, _hoisted_5$3)], 8, _hoisted_3$6)) : vue.createCommentVNode("", true), vue.createElementVNode("div", _hoisted_6$3, [vue.createVNode(vue.Transition, {
4935
4935
  name: "fwFadeIn",
4936
4936
  mode: "out-in"
4937
4937
  }, {
@@ -4945,8 +4945,8 @@ function render$8(_ctx, _cache, $props, $setup, $data, $options) {
4945
4945
  }, 8, ["name", "value", "rules"])]);
4946
4946
  }var css_248z$5 = ".fwFadeIn-enter-active[data-v-7423717e]{-webkit-animation:fwFadeIn-7423717e .35s;animation:fwFadeIn-7423717e .35s;-webkit-transition:opacity .35s ease-in;-o-transition:opacity .35s ease-in;transition:opacity .35s ease-in}.fwFadeIn-leave-active[data-v-7423717e]{animation:fwFadeIn-7423717e .35s reverse;-webkit-transition:opacity .35s ease-out;-o-transition:opacity .35s ease-out;transition:opacity .35s ease-out}@-webkit-keyframes fwFadeIn-7423717e{0%{opacity:0}to{opacity:1}}@keyframes fwFadeIn-7423717e{0%{opacity:0}to{opacity:1}}.fw-checkbox input[data-v-7423717e]{-ms-flex-negative:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-origin:border-box;display:inline-block;flex-shrink:0;-webkit-transition:background .2s ease-in;-o-transition:background .2s ease-in;transition:background .2s ease-in;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle}.fw-checkbox input[data-v-7423717e]:checked{background-color:currentColor;background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='3 3 10 10' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.707 7.293a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0l4-4a1 1 0 0 0-1.414-1.414L7 8.586 5.707 7.293z'/%3E%3C/svg%3E\");background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:transparent}";
4947
4947
  var stylesheet$5 = ".fwFadeIn-enter-active[data-v-7423717e]{-webkit-animation:fwFadeIn-7423717e .35s;animation:fwFadeIn-7423717e .35s;-webkit-transition:opacity .35s ease-in;-o-transition:opacity .35s ease-in;transition:opacity .35s ease-in}.fwFadeIn-leave-active[data-v-7423717e]{animation:fwFadeIn-7423717e .35s reverse;-webkit-transition:opacity .35s ease-out;-o-transition:opacity .35s ease-out;transition:opacity .35s ease-out}@-webkit-keyframes fwFadeIn-7423717e{0%{opacity:0}to{opacity:1}}@keyframes fwFadeIn-7423717e{0%{opacity:0}to{opacity:1}}.fw-checkbox input[data-v-7423717e]{-ms-flex-negative:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-origin:border-box;display:inline-block;flex-shrink:0;-webkit-transition:background .2s ease-in;-o-transition:background .2s ease-in;transition:background .2s ease-in;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle}.fw-checkbox input[data-v-7423717e]:checked{background-color:currentColor;background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='3 3 10 10' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.707 7.293a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0l4-4a1 1 0 0 0-1.414-1.414L7 8.586 5.707 7.293z'/%3E%3C/svg%3E\");background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:transparent}";
4948
- styleInject(css_248z$5);script$6.render = render$8;
4949
- script$6.__scopeId = "data-v-7423717e";var script$5 = vue.defineComponent({
4948
+ styleInject(css_248z$5);script$7.render = render$9;
4949
+ script$7.__scopeId = "data-v-7423717e";var script$6 = vue.defineComponent({
4950
4950
  name: 'FwCard',
4951
4951
  props: {
4952
4952
  /**
@@ -4988,22 +4988,22 @@ script$6.__scopeId = "data-v-7423717e";var script$5 = vue.defineComponent({
4988
4988
  linkClass: linkClass
4989
4989
  };
4990
4990
  }
4991
- });var _hoisted_1$6 = {
4991
+ });var _hoisted_1$7 = {
4992
4992
  key: 0,
4993
4993
  "class": "fw-card--header px-8 py-4 bg-grey-lightest rounded-t-lg border-opacity-0"
4994
4994
  };
4995
- var _hoisted_2$5 = {
4995
+ var _hoisted_2$6 = {
4996
4996
  key: 0,
4997
4997
  "class": "fw-card--prefix-title text-primary"
4998
4998
  };
4999
- var _hoisted_3$4 = {
4999
+ var _hoisted_3$5 = {
5000
5000
  key: 1
5001
5001
  };
5002
- var _hoisted_4$4 = {
5002
+ var _hoisted_4$5 = {
5003
5003
  key: 1,
5004
5004
  "class": "p-8"
5005
5005
  };
5006
- function render$7(_ctx, _cache, $props, $setup, $data, $options) {
5006
+ function render$8(_ctx, _cache, $props, $setup, $data, $options) {
5007
5007
  return vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.componentName), {
5008
5008
  to: _ctx.to ? _ctx.to : null,
5009
5009
  href: _ctx.href ? _ctx.href : null,
@@ -5011,11 +5011,11 @@ function render$7(_ctx, _cache, $props, $setup, $data, $options) {
5011
5011
  "class": vue.normalizeClass(["fw-card shadow-card rounded-lg", _ctx.to || _ctx.href || !!_ctx.$attrs.onClick ? _ctx.linkClass : ''])
5012
5012
  }, {
5013
5013
  "default": vue.withCtx(function () {
5014
- return [_ctx.title || _ctx.prefixTitle ? (vue.openBlock(), vue.createElementBlock("h4", _hoisted_1$6, [_ctx.prefixTitle ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$5, vue.toDisplayString(_ctx.prefixTitle), 1)) : vue.createCommentVNode("", true), _ctx.title ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$4, vue.toDisplayString(_ctx.title), 1)) : vue.createCommentVNode("", true)])) : vue.createCommentVNode("", true), _ctx.$slots["default"] ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$4, [vue.renderSlot(_ctx.$slots, "default")])) : vue.createCommentVNode("", true)];
5014
+ return [_ctx.title || _ctx.prefixTitle ? (vue.openBlock(), vue.createElementBlock("h4", _hoisted_1$7, [_ctx.prefixTitle ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$6, vue.toDisplayString(_ctx.prefixTitle), 1)) : vue.createCommentVNode("", true), _ctx.title ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$5, vue.toDisplayString(_ctx.title), 1)) : vue.createCommentVNode("", true)])) : vue.createCommentVNode("", true), _ctx.$slots["default"] ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$5, [vue.renderSlot(_ctx.$slots, "default")])) : vue.createCommentVNode("", true)];
5015
5015
  }),
5016
5016
  _: 3
5017
5017
  }, 8, ["to", "href", "tabindex", "class"]);
5018
- }script$5.render = render$7;var script$4 = vue.defineComponent({
5018
+ }script$6.render = render$8;var script$5 = vue.defineComponent({
5019
5019
  name: 'FwButton',
5020
5020
  emits: ['click', 'mouseover', 'mouseout', 'focusin', 'focusout'],
5021
5021
  props: {
@@ -5188,7 +5188,7 @@ function render$7(_ctx, _cache, $props, $setup, $data, $options) {
5188
5188
  tagName: tagName
5189
5189
  };
5190
5190
  }
5191
- });function render$6(_ctx, _cache, $props, $setup, $data, $options) {
5191
+ });function render$7(_ctx, _cache, $props, $setup, $data, $options) {
5192
5192
  return vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.tagName), {
5193
5193
  "class": vue.normalizeClass(["fw-button", [_ctx.baseClass, _ctx.textColorClass, _ctx.bgColorClass, _ctx.sizeClass, _ctx.borderClass, _ctx.variant === 'link' ? 'pl-0 pr-0 pt-0 pb-0 rounded-none font-normal' : 'font-bold rounded-full']]),
5194
5194
  type: _ctx.tagName === 'button' ? _ctx.buttonType : null,
@@ -5208,11 +5208,11 @@ function render$7(_ctx, _cache, $props, $setup, $data, $options) {
5208
5208
  }, 40, ["class", "type", "to", "href", "tabindex", "onClick", "onFocusin", "onFocusout", "onMouseover", "onMouseout"]);
5209
5209
  }var css_248z$4 = ".fw-button{line-height:normal;-webkit-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out}";
5210
5210
  var stylesheet$4 = ".fw-button{line-height:normal;-webkit-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out}";
5211
- styleInject(css_248z$4);script$4.render = render$6;var script$3 = vue.defineComponent({
5211
+ styleInject(css_248z$4);script$5.render = render$7;var script$4 = vue.defineComponent({
5212
5212
  name: 'FwNavigationMenu',
5213
5213
  emits: ['action'],
5214
5214
  components: {
5215
- FwButton: script$4
5215
+ FwButton: script$5
5216
5216
  },
5217
5217
  props: {
5218
5218
  /**
@@ -5251,24 +5251,24 @@ styleInject(css_248z$4);script$4.render = render$6;var script$3 = vue.defineComp
5251
5251
  actionClicked: actionClicked
5252
5252
  };
5253
5253
  }
5254
- });var _hoisted_1$5 = {
5254
+ });var _hoisted_1$6 = {
5255
5255
  "class": "fw-nav-menu relative z-50 h-20 shadow-md"
5256
5256
  };
5257
- var _hoisted_2$4 = {
5257
+ var _hoisted_2$5 = {
5258
5258
  "class": "px-6 flex-1 h-full flex bg-white items-stretch justify-between max-w-6xl mx-auto"
5259
5259
  };
5260
- var _hoisted_3$3 = {
5260
+ var _hoisted_3$4 = {
5261
5261
  key: 0,
5262
5262
  "class": "flex-shrink-0 flex items-center"
5263
5263
  };
5264
- var _hoisted_4$3 = {
5264
+ var _hoisted_4$4 = {
5265
5265
  key: 1,
5266
5266
  "class": "container hidden sm:flex items-center justify-start sm:ml-6"
5267
5267
  };
5268
- var _hoisted_5$1 = {
5268
+ var _hoisted_5$2 = {
5269
5269
  "class": "flex space-x-2"
5270
5270
  };
5271
- var _hoisted_6$1 = {
5271
+ var _hoisted_6$2 = {
5272
5272
  key: 2,
5273
5273
  "class": "hidden sm:flex items-center justify-start sm:ml-6"
5274
5274
  };
@@ -5292,12 +5292,12 @@ var _hoisted_10$1 = ["d"];
5292
5292
  var _hoisted_11$1 = {
5293
5293
  "class": "w-full flex flex-col"
5294
5294
  };
5295
- function render$5(_ctx, _cache, $props, $setup, $data, $options) {
5295
+ function render$6(_ctx, _cache, $props, $setup, $data, $options) {
5296
5296
  var _ctx$menuItems;
5297
5297
 
5298
5298
  var _component_FwButton = vue.resolveComponent("FwButton");
5299
5299
 
5300
- return vue.openBlock(), vue.createElementBlock("nav", _hoisted_1$5, [vue.createElementVNode("div", _hoisted_2$4, [_ctx.$slots.logo ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$3, [vue.renderSlot(_ctx.$slots, "logo")])) : vue.createCommentVNode("", true), _ctx.menuItems && ((_ctx$menuItems = _ctx.menuItems) === null || _ctx$menuItems === void 0 ? void 0 : _ctx$menuItems.length) > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$3, [vue.createElementVNode("div", _hoisted_5$1, [(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.menuItems, function (item, i) {
5300
+ return vue.openBlock(), vue.createElementBlock("nav", _hoisted_1$6, [vue.createElementVNode("div", _hoisted_2$5, [_ctx.$slots.logo ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$4, [vue.renderSlot(_ctx.$slots, "logo")])) : vue.createCommentVNode("", true), _ctx.menuItems && ((_ctx$menuItems = _ctx.menuItems) === null || _ctx$menuItems === void 0 ? void 0 : _ctx$menuItems.length) > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$4, [vue.createElementVNode("div", _hoisted_5$2, [(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.menuItems, function (item, i) {
5301
5301
  return vue.openBlock(), vue.createBlock(_component_FwButton, {
5302
5302
  key: i,
5303
5303
  variant: "text",
@@ -5311,7 +5311,7 @@ function render$5(_ctx, _cache, $props, $setup, $data, $options) {
5311
5311
  }),
5312
5312
  _: 2
5313
5313
  }, 1032, ["href", "to"]);
5314
- }), 128))])])) : vue.createCommentVNode("", true), _ctx.actionLabel ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$1, [vue.createVNode(_component_FwButton, {
5314
+ }), 128))])])) : vue.createCommentVNode("", true), _ctx.actionLabel ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$2, [vue.createVNode(_component_FwButton, {
5315
5315
  onClick: _ctx.actionClicked,
5316
5316
  size: "md",
5317
5317
  "aria-label": _ctx.actionLabel
@@ -5371,7 +5371,7 @@ function render$5(_ctx, _cache, $props, $setup, $data, $options) {
5371
5371
  })]);
5372
5372
  }var css_248z$3 = ".fw-nav-menu--mobile{z-index:-1}.fw-nav-menu--mobile,.slideInLeft-enter-active{-webkit-transition:left .35s ease-in;-o-transition:left .35s ease-in;transition:left .35s ease-in}.slideInLeft-enter-active{-webkit-animation:slideInLeft .35s;animation:slideInLeft .35s}.slideInLeft-leave-active{animation:slideInLeft .35s reverse;-webkit-transition:left .35s ease-in-out;-o-transition:left .35s ease-in-out;transition:left .35s ease-in-out}@-webkit-keyframes slideInLeft{0%{left:100%}to{left:0}}@keyframes slideInLeft{0%{left:100%}to{left:0}}";
5373
5373
  var stylesheet$3 = ".fw-nav-menu--mobile{z-index:-1}.fw-nav-menu--mobile,.slideInLeft-enter-active{-webkit-transition:left .35s ease-in;-o-transition:left .35s ease-in;transition:left .35s ease-in}.slideInLeft-enter-active{-webkit-animation:slideInLeft .35s;animation:slideInLeft .35s}.slideInLeft-leave-active{animation:slideInLeft .35s reverse;-webkit-transition:left .35s ease-in-out;-o-transition:left .35s ease-in-out;transition:left .35s ease-in-out}@-webkit-keyframes slideInLeft{0%{left:100%}to{left:0}}@keyframes slideInLeft{0%{left:100%}to{left:0}}";
5374
- styleInject(css_248z$3);script$3.render = render$5;var es_number_constructor = {};var isCallable$2 = isCallable$g;
5374
+ styleInject(css_248z$3);script$4.render = render$6;var es_number_constructor = {};var isCallable$2 = isCallable$g;
5375
5375
 
5376
5376
  var $String$1 = String;
5377
5377
  var $TypeError$1 = TypeError;
@@ -5553,7 +5553,7 @@ if (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumb
5553
5553
  NumberWrapper.prototype = NumberPrototype;
5554
5554
  NumberPrototype.constructor = NumberWrapper;
5555
5555
  defineBuiltIn(global$4, NUMBER, NumberWrapper, { constructor: true });
5556
- }var script$2 = vue.defineComponent({
5556
+ }var script$3 = vue.defineComponent({
5557
5557
  name: 'FwTabs',
5558
5558
  emits: ['update:modelValue'],
5559
5559
  props: {
@@ -5586,16 +5586,16 @@ if (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumb
5586
5586
  selectTab: selectTab
5587
5587
  };
5588
5588
  }
5589
- });var _hoisted_1$4 = {
5589
+ });var _hoisted_1$5 = {
5590
5590
  "class": "fw-tabs"
5591
5591
  };
5592
- var _hoisted_2$3 = {
5592
+ var _hoisted_2$4 = {
5593
5593
  key: 0,
5594
5594
  "class": "flex flex-wrap -mb-px border-b border-grey-light dark:text-grey-base dark:border-grey-base"
5595
5595
  };
5596
- var _hoisted_3$2 = ["onClick"];
5597
- function render$4(_ctx, _cache, $props, $setup, $data, $options) {
5598
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$4, [_ctx.tabs ? (vue.openBlock(), vue.createElementBlock("ul", _hoisted_2$3, [(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.tabs, function (tab, i) {
5596
+ var _hoisted_3$3 = ["onClick"];
5597
+ function render$5(_ctx, _cache, $props, $setup, $data, $options) {
5598
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$5, [_ctx.tabs ? (vue.openBlock(), vue.createElementBlock("ul", _hoisted_2$4, [(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.tabs, function (tab, i) {
5599
5599
  return vue.openBlock(), vue.createElementBlock("li", {
5600
5600
  "class": "mr-2",
5601
5601
  key: i
@@ -5605,9 +5605,9 @@ function render$4(_ctx, _cache, $props, $setup, $data, $options) {
5605
5605
  return _ctx.selectTab(i);
5606
5606
  },
5607
5607
  "class": vue.normalizeClass(["inline-block p-4 outline-primary border-b-2 border-transparent transition ease-in", _ctx.active === i ? 'font-medium border-black' : 'hover:bg-grey-lightest'])
5608
- }, vue.toDisplayString(tab.props.label), 11, _hoisted_3$2)]);
5608
+ }, vue.toDisplayString(tab.props.label), 11, _hoisted_3$3)]);
5609
5609
  }), 128))])) : vue.createCommentVNode("", true), vue.renderSlot(_ctx.$slots, "default")]);
5610
- }script$2.render = render$4;var es_array_findIndex = {};'use strict';
5610
+ }script$3.render = render$5;var es_array_findIndex = {};'use strict';
5611
5611
  var $$2 = _export;
5612
5612
  var $findIndex = arrayIteration.findIndex;
5613
5613
  var addToUnscopables = addToUnscopables$2;
@@ -5627,7 +5627,7 @@ $$2({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {
5627
5627
  });
5628
5628
 
5629
5629
  // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
5630
- addToUnscopables(FIND_INDEX);var script$1 = vue.defineComponent({
5630
+ addToUnscopables(FIND_INDEX);var script$2 = vue.defineComponent({
5631
5631
  name: 'FwTab',
5632
5632
  props: {
5633
5633
  /**
@@ -5669,13 +5669,13 @@ addToUnscopables(FIND_INDEX);var script$1 = vue.defineComponent({
5669
5669
  props: props
5670
5670
  };
5671
5671
  }
5672
- });var _hoisted_1$3 = {
5672
+ });var _hoisted_1$4 = {
5673
5673
  key: 0,
5674
5674
  "class": "fw-tab w-full"
5675
5675
  };
5676
- function render$3(_ctx, _cache, $props, $setup, $data, $options) {
5677
- return _ctx.isActive ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$3, [vue.renderSlot(_ctx.$slots, "default")])) : vue.createCommentVNode("", true);
5678
- }script$1.render = render$3;/** Detect free variable `global` from Node.js. */
5676
+ function render$4(_ctx, _cache, $props, $setup, $data, $options) {
5677
+ return _ctx.isActive ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$4, [vue.renderSlot(_ctx.$slots, "default")])) : vue.createCommentVNode("", true);
5678
+ }script$2.render = render$4;/** Detect free variable `global` from Node.js. */
5679
5679
  var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;/** Detect free variable `self`. */
5680
5680
  var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
5681
5681
 
@@ -5927,10 +5927,10 @@ var idCounter = 0;
5927
5927
  function uniqueId(prefix) {
5928
5928
  var id = ++idCounter;
5929
5929
  return toString(prefix) + id;
5930
- }var script = vue.defineComponent({
5930
+ }var script$1 = vue.defineComponent({
5931
5931
  name: 'FwModal',
5932
5932
  components: {
5933
- FwButton: script$4
5933
+ FwButton: script$5
5934
5934
  },
5935
5935
  emits: ['cancel', 'confirm'],
5936
5936
  props: {
@@ -6020,21 +6020,21 @@ function uniqueId(prefix) {
6020
6020
  return vue.pushScopeId("data-v-003a6fba"), n = n(), vue.popScopeId(), n;
6021
6021
  };
6022
6022
 
6023
- var _hoisted_1$2 = {
6023
+ var _hoisted_1$3 = {
6024
6024
  "class": "fw-modal"
6025
6025
  };
6026
- var _hoisted_2$2 = {
6026
+ var _hoisted_2$3 = {
6027
6027
  "class": "fw-modal--mask fixed z-[9999] top-0 left-0 w-full h-full bg-black bg-opacity-50"
6028
6028
  };
6029
- var _hoisted_3$1 = {
6029
+ var _hoisted_3$2 = {
6030
6030
  "class": "fw-modal--wrapper text-center overflow-auto flex justify-center items-center h-full"
6031
6031
  };
6032
- var _hoisted_4$2 = ["role", "aria-labelledby", "aria-describedby"];
6033
- var _hoisted_5 = {
6032
+ var _hoisted_4$3 = ["role", "aria-labelledby", "aria-describedby"];
6033
+ var _hoisted_5$1 = {
6034
6034
  key: 0,
6035
6035
  "class": "fw-modal--header text-center"
6036
6036
  };
6037
- var _hoisted_6 = {
6037
+ var _hoisted_6$1 = {
6038
6038
  key: 0,
6039
6039
  id: "modal-logo",
6040
6040
  "class": "flex justify-center"
@@ -6047,7 +6047,7 @@ var _hoisted_11 = {
6047
6047
  key: 3,
6048
6048
  "class": "modal-footer flex space-x-4 pt-4 justify-center"
6049
6049
  };
6050
- function render$2(_ctx, _cache, $props, $setup, $data, $options) {
6050
+ function render$3(_ctx, _cache, $props, $setup, $data, $options) {
6051
6051
  var _component_FwButton = vue.resolveComponent("FwButton");
6052
6052
 
6053
6053
  return vue.openBlock(), vue.createBlock(vue.Transition, {
@@ -6055,13 +6055,13 @@ function render$2(_ctx, _cache, $props, $setup, $data, $options) {
6055
6055
  appear: ""
6056
6056
  }, {
6057
6057
  "default": vue.withCtx(function () {
6058
- return [vue.createElementVNode("div", _hoisted_1$2, [vue.createElementVNode("div", _hoisted_2$2, [vue.createElementVNode("div", _hoisted_3$1, [vue.createElementVNode("div", {
6058
+ return [vue.createElementVNode("div", _hoisted_1$3, [vue.createElementVNode("div", _hoisted_2$3, [vue.createElementVNode("div", _hoisted_3$2, [vue.createElementVNode("div", {
6059
6059
  role: _ctx.role,
6060
6060
  "aria-modal": "true",
6061
6061
  "class": "fw-modal--container p-12 m-8 inline-block w-full max-w-[540px] bg-white rounded-2xl shadow",
6062
6062
  "aria-labelledby": _ctx.$slots.header || _ctx.header ? "modal_".concat(_ctx.uuid, "_header") : undefined,
6063
6063
  "aria-describedby": _ctx.$slots.body ? "modal_".concat(_ctx.uuid, "_body") : undefined
6064
- }, [_ctx.$slots.icon || _ctx.$slots.header || _ctx.header ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5, [_ctx.$slots.icon ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6, [vue.renderSlot(_ctx.$slots, "icon")])) : vue.createCommentVNode("", true), _ctx.$slots.header ? (vue.openBlock(), vue.createElementBlock("h2", {
6064
+ }, [_ctx.$slots.icon || _ctx.$slots.header || _ctx.header ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$1, [_ctx.$slots.icon ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$1, [vue.renderSlot(_ctx.$slots, "icon")])) : vue.createCommentVNode("", true), _ctx.$slots.header ? (vue.openBlock(), vue.createElementBlock("h2", {
6065
6065
  key: 1,
6066
6066
  id: "modal_".concat(_ctx.uuid, "_header")
6067
6067
  }, [vue.renderSlot(_ctx.$slots, "header")], 8, _hoisted_7)) : _ctx.header ? (vue.openBlock(), vue.createElementBlock("h2", {
@@ -6103,14 +6103,92 @@ function render$2(_ctx, _cache, $props, $setup, $data, $options) {
6103
6103
  return [vue.createTextVNode(vue.toDisplayString(_ctx.confirmButtonText), 1)];
6104
6104
  }),
6105
6105
  _: 1
6106
- }, 8, ["variant", "aria-label"])) : vue.createCommentVNode("", true)])) : vue.createCommentVNode("", true)], 8, _hoisted_4$2)])])])];
6106
+ }, 8, ["variant", "aria-label"])) : vue.createCommentVNode("", true)])) : vue.createCommentVNode("", true)], 8, _hoisted_4$3)])])])];
6107
6107
  }),
6108
6108
  _: 3
6109
6109
  });
6110
6110
  }var css_248z$2 = ".modalFadeIn-enter-active[data-v-003a6fba]{-webkit-animation:modalFadeIn-003a6fba .4s;animation:modalFadeIn-003a6fba .4s;-webkit-transition:opacity .4s ease-in;-o-transition:opacity .4s ease-in;transition:opacity .4s ease-in}.modalFadeIn-leave-active[data-v-003a6fba]{animation:modalFadeIn-003a6fba .4s reverse;-webkit-transition:opacity .4s ease-out;-o-transition:opacity .4s ease-out;transition:opacity .4s ease-out}@-webkit-keyframes modalFadeIn-003a6fba{0%{opacity:0}to{opacity:1}}@keyframes modalFadeIn-003a6fba{0%{opacity:0}to{opacity:1}}";
6111
6111
  var stylesheet$2 = ".modalFadeIn-enter-active[data-v-003a6fba]{-webkit-animation:modalFadeIn-003a6fba .4s;animation:modalFadeIn-003a6fba .4s;-webkit-transition:opacity .4s ease-in;-o-transition:opacity .4s ease-in;transition:opacity .4s ease-in}.modalFadeIn-leave-active[data-v-003a6fba]{animation:modalFadeIn-003a6fba .4s reverse;-webkit-transition:opacity .4s ease-out;-o-transition:opacity .4s ease-out;transition:opacity .4s ease-out}@-webkit-keyframes modalFadeIn-003a6fba{0%{opacity:0}to{opacity:1}}@keyframes modalFadeIn-003a6fba{0%{opacity:0}to{opacity:1}}";
6112
- styleInject(css_248z$2);script.render = render$2;
6113
- script.__scopeId = "data-v-003a6fba";var __default__$1 = vue.defineComponent({
6112
+ styleInject(css_248z$2);script$1.render = render$3;
6113
+ script$1.__scopeId = "data-v-003a6fba";var script = vue.defineComponent({
6114
+ name: 'FwProgressBar',
6115
+ props: {
6116
+ /**
6117
+ * An array of menu progress steps.
6118
+ * `{ label: string; position: number; subSteps: number; }`
6119
+ */
6120
+ steps: {
6121
+ type: Array,
6122
+ required: true
6123
+ },
6124
+
6125
+ /**
6126
+ * An current active step.
6127
+ */
6128
+ activeStep: {
6129
+ type: Number,
6130
+ required: true
6131
+ },
6132
+
6133
+ /**
6134
+ * An current active sub-step.
6135
+ */
6136
+ activeSubStep: {
6137
+ type: Number,
6138
+ required: true
6139
+ }
6140
+ },
6141
+ setup: function setup(props) {
6142
+ var calculatedProgressBar = function calculatedProgressBar(step) {
6143
+ var numOfSubSteps = step.subSteps;
6144
+ var equalPercentageWidths = 100 / numOfSubSteps;
6145
+
6146
+ if (props.activeStep === step.position && props.activeSubStep) {
6147
+ var width = equalPercentageWidths * props.activeSubStep;
6148
+ return "width: ".concat(width, "%");
6149
+ }
6150
+
6151
+ return 'width: 0%;';
6152
+ };
6153
+
6154
+ return {
6155
+ calculatedProgressBar: calculatedProgressBar
6156
+ };
6157
+ }
6158
+ });var _hoisted_1$2 = {
6159
+ "class": "fw-progress-bar w-full mx-auto my-4"
6160
+ };
6161
+ var _hoisted_2$2 = {
6162
+ "class": "flex pb-3"
6163
+ };
6164
+ var _hoisted_3$1 = {
6165
+ "class": "text-white text-center w-full"
6166
+ };
6167
+ var _hoisted_4$2 = {
6168
+ "class": "text-sm md:text-base"
6169
+ };
6170
+ var _hoisted_5 = {
6171
+ key: 0,
6172
+ "class": "w-full flex items-start mt-[13px] mx-[-15px]"
6173
+ };
6174
+ var _hoisted_6 = {
6175
+ "class": "w-full bg-grey-light rounded flex-1"
6176
+ };
6177
+ function render$2(_ctx, _cache, $props, $setup, $data, $options) {
6178
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$2, [vue.createElementVNode("div", _hoisted_2$2, [(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.steps, function (step) {
6179
+ return vue.openBlock(), vue.createElementBlock("div", {
6180
+ "class": vue.normalizeClass(["flex", step.position !== _ctx.steps.length ? 'flex-1' : 'w-[70px] md:w-[96px]']),
6181
+ key: step.position
6182
+ }, [vue.createElementVNode("div", {
6183
+ "class": vue.normalizeClass(["text-center", step.position !== _ctx.steps.length ? 'min-w-[70px] w-[70px] md:min-w-[96px] md:w-[96px]' : 'w-full'])
6184
+ }, [vue.createElementVNode("div", {
6185
+ "class": vue.normalizeClass(["w-[30px] h-[30px] mx-auto mb-2 flex items-center justify-center text-center rounded-full", step.position <= _ctx.activeStep ? 'bg-primary' : 'bg-grey-light'])
6186
+ }, [vue.createElementVNode("span", _hoisted_3$1, vue.toDisplayString(step.position), 1)], 2), vue.createElementVNode("span", _hoisted_4$2, vue.toDisplayString(step.label), 1)], 2), step.position !== _ctx.steps.length ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5, [vue.createElementVNode("div", _hoisted_6, [vue.createElementVNode("div", {
6187
+ "class": "bg-primary text-xs leading-none py-0.5 text-center text-grey-darkest rounded transition-all",
6188
+ style: vue.normalizeStyle(step.position < _ctx.activeStep ? 'width:100%;' : _ctx.calculatedProgressBar(step))
6189
+ }, null, 4)])])) : vue.createCommentVNode("", true)], 2);
6190
+ }), 128))])]);
6191
+ }script.render = render$2;var __default__$1 = vue.defineComponent({
6114
6192
  name: 'FwEmailPulse',
6115
6193
  props: {
6116
6194
  /**
@@ -6224,7 +6302,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
6224
6302
  var stylesheet = ".fw-success-pulse[data-v-c32112d4]{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;height:100px;position:relative;width:100px}.fw-success-pulse--checkmark__circle[data-v-c32112d4]{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:2;stroke-miterlimit:10;stroke:var(--colorPrimary);fill:none;-webkit-animation:fwSuccessStroke-c32112d4 .6s cubic-bezier(.65,0,.45,1) forwards;animation:fwSuccessStroke-c32112d4 .6s cubic-bezier(.65,0,.45,1) forwards}.fw-success-pulse--checkmark[data-v-c32112d4]{stroke-width:4;stroke:#fff;stroke-miterlimit:10;-webkit-animation:fwSuccessScaleFill-c32112d4 .6s ease-in-out .4s forwards,fwSuccessScale-c32112d4 .3s ease-in-out .9s both;animation:fwSuccessScaleFill-c32112d4 .6s ease-in-out .4s forwards,fwSuccessScale-c32112d4 .3s ease-in-out .9s both;border-radius:50%;-webkit-box-shadow:inset 0 0 0 var(--colorPrimary);box-shadow:inset 0 0 0 var(--colorPrimary);display:block;height:70px;margin:10% auto;width:70px}.fw-success-pulse--checkmark__check[data-v-c32112d4]{stroke-dasharray:48;stroke-dashoffset:48;stroke-linecap:round;-webkit-animation:fwSuccessStroke-c32112d4 .3s cubic-bezier(.65,0,.45,1) .8s forwards;animation:fwSuccessStroke-c32112d4 .3s cubic-bezier(.65,0,.45,1) .8s forwards;-webkit-transform-origin:50% 50%;-ms-transform-origin:50% 50%;transform-origin:50% 50%}@-webkit-keyframes fwSuccessStroke-c32112d4{to{stroke-dashoffset:0}}@keyframes fwSuccessStroke-c32112d4{to{stroke-dashoffset:0}}@-webkit-keyframes fwSuccessScale-c32112d4{0%,to{-webkit-transform:none;transform:none}50%{-webkit-transform:scale3d(1.1,1.1,1);transform:scale3d(1.1,1.1,1)}}@keyframes fwSuccessScale-c32112d4{0%,to{-webkit-transform:none;transform:none}50%{-webkit-transform:scale3d(1.1,1.1,1);transform:scale3d(1.1,1.1,1)}}@-webkit-keyframes fwSuccessScaleFill-c32112d4{to{-webkit-box-shadow:inset 0 0 0 70px var(--colorPrimary);box-shadow:inset 0 0 0 70px var(--colorPrimary)}}@keyframes fwSuccessScaleFill-c32112d4{to{-webkit-box-shadow:inset 0 0 0 70px var(--colorPrimary);box-shadow:inset 0 0 0 70px var(--colorPrimary)}}.fw-success-pulse--circle[data-v-c32112d4]{stroke-width:4px;stroke-opacity:1;fill:none;fill-opacity:0;-webkit-animation-delay:1s;animation-delay:1s;-webkit-animation-duration:3s;animation-duration:3s;-webkit-animation-iteration-count:var(--22e0894f);animation-iteration-count:var(--22e0894f);-webkit-animation-name:fwSuccessPulse-c32112d4;animation-name:fwSuccessPulse-c32112d4;-webkit-transform-origin:50% 50%;-ms-transform-origin:50% 50%;transform-origin:50% 50%}@-webkit-keyframes fwSuccessPulse-c32112d4{0%{stroke:var(--colorPrimary);stroke-width:5px;stroke-opacity:1;-webkit-transform:scale(1);transform:scale(1)}to{stroke:transparent;stroke-width:0;stroke-opacity:0;-webkit-transform:scale(1.5);transform:scale(1.5)}}@keyframes fwSuccessPulse-c32112d4{0%{stroke:var(--colorPrimary);stroke-width:5px;stroke-opacity:1;-webkit-transform:scale(1);transform:scale(1)}to{stroke:transparent;stroke-width:0;stroke-opacity:0;-webkit-transform:scale(1.5);transform:scale(1.5)}}";
6225
6303
  styleInject(css_248z);__default__.render = render;
6226
6304
  __default__.__scopeId = "data-v-c32112d4";// Form components
6227
- var Components=/*#__PURE__*/Object.freeze({__proto__:null,FwForm:Form,FwInput:script$7,FwCheckbox:script$6,FwCard:script$5,FwButton:script$4,FwNavigationMenu:script$3,FwTabs:script$2,FwTab:script$1,FwModal:script,FwEmailPulse:__default__$1,FwSuccessPulse:__default__});function _defineProperty(obj, key, value) {
6305
+ var Components=/*#__PURE__*/Object.freeze({__proto__:null,FwForm:Form,FwInput:script$8,FwCheckbox:script$7,FwCard:script$6,FwButton:script$5,FwNavigationMenu:script$4,FwTabs:script$3,FwTab:script$2,FwModal:script$1,FwProgressBar:script,FwEmailPulse:__default__$1,FwSuccessPulse:__default__});function _defineProperty(obj, key, value) {
6228
6306
  if (key in obj) {
6229
6307
  Object.defineProperty(obj, key, {
6230
6308
  value: value,
@@ -6332,7 +6410,7 @@ $({ global: true, bind: true, forced: global$1.setTimeout !== setTimeout$1 }, {
6332
6410
  var open = function open() {
6333
6411
  var _modalVNode;
6334
6412
 
6335
- modalVNode = vue.createApp(script, _objectSpread2({}, options));
6413
+ modalVNode = vue.createApp(script$1, _objectSpread2({}, options));
6336
6414
  elAppend === null || elAppend === void 0 ? void 0 : elAppend.appendChild(elementToMount);
6337
6415
  (_modalVNode = modalVNode) === null || _modalVNode === void 0 ? void 0 : _modalVNode.mount(elementToMount);
6338
6416
  };
@@ -0,0 +1,90 @@
1
+ import './es.number.constructor-f646730f.js';
2
+ import { defineComponent, openBlock, createElementBlock, createElementVNode, Fragment, renderList, normalizeClass, toDisplayString, normalizeStyle, createCommentVNode } from 'vue';
3
+ import './function-name-3bda6320.js';
4
+ import './is-forced-3323c994.js';
5
+
6
+ var script = defineComponent({
7
+ name: 'FwProgressBar',
8
+ props: {
9
+ /**
10
+ * An array of menu progress steps.
11
+ * `{ label: string; position: number; subSteps: number; }`
12
+ */
13
+ steps: {
14
+ type: Array,
15
+ required: true
16
+ },
17
+
18
+ /**
19
+ * An current active step.
20
+ */
21
+ activeStep: {
22
+ type: Number,
23
+ required: true
24
+ },
25
+
26
+ /**
27
+ * An current active sub-step.
28
+ */
29
+ activeSubStep: {
30
+ type: Number,
31
+ required: true
32
+ }
33
+ },
34
+ setup: function setup(props) {
35
+ var calculatedProgressBar = function calculatedProgressBar(step) {
36
+ var numOfSubSteps = step.subSteps;
37
+ var equalPercentageWidths = 100 / numOfSubSteps;
38
+
39
+ if (props.activeStep === step.position && props.activeSubStep) {
40
+ var width = equalPercentageWidths * props.activeSubStep;
41
+ return "width: ".concat(width, "%");
42
+ }
43
+
44
+ return 'width: 0%;';
45
+ };
46
+
47
+ return {
48
+ calculatedProgressBar: calculatedProgressBar
49
+ };
50
+ }
51
+ });
52
+
53
+ var _hoisted_1 = {
54
+ "class": "fw-progress-bar w-full mx-auto my-4"
55
+ };
56
+ var _hoisted_2 = {
57
+ "class": "flex pb-3"
58
+ };
59
+ var _hoisted_3 = {
60
+ "class": "text-white text-center w-full"
61
+ };
62
+ var _hoisted_4 = {
63
+ "class": "text-sm md:text-base"
64
+ };
65
+ var _hoisted_5 = {
66
+ key: 0,
67
+ "class": "w-full flex items-start mt-[13px] mx-[-15px]"
68
+ };
69
+ var _hoisted_6 = {
70
+ "class": "w-full bg-grey-light rounded flex-1"
71
+ };
72
+ function render(_ctx, _cache, $props, $setup, $data, $options) {
73
+ return openBlock(), createElementBlock("div", _hoisted_1, [createElementVNode("div", _hoisted_2, [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.steps, function (step) {
74
+ return openBlock(), createElementBlock("div", {
75
+ "class": normalizeClass(["flex", step.position !== _ctx.steps.length ? 'flex-1' : 'w-[70px] md:w-[96px]']),
76
+ key: step.position
77
+ }, [createElementVNode("div", {
78
+ "class": normalizeClass(["text-center", step.position !== _ctx.steps.length ? 'min-w-[70px] w-[70px] md:min-w-[96px] md:w-[96px]' : 'w-full'])
79
+ }, [createElementVNode("div", {
80
+ "class": normalizeClass(["w-[30px] h-[30px] mx-auto mb-2 flex items-center justify-center text-center rounded-full", step.position <= _ctx.activeStep ? 'bg-primary' : 'bg-grey-light'])
81
+ }, [createElementVNode("span", _hoisted_3, toDisplayString(step.position), 1)], 2), createElementVNode("span", _hoisted_4, toDisplayString(step.label), 1)], 2), step.position !== _ctx.steps.length ? (openBlock(), createElementBlock("div", _hoisted_5, [createElementVNode("div", _hoisted_6, [createElementVNode("div", {
82
+ "class": "bg-primary text-xs leading-none py-0.5 text-center text-grey-darkest rounded transition-all",
83
+ style: normalizeStyle(step.position < _ctx.activeStep ? 'width:100%;' : _ctx.calculatedProgressBar(step))
84
+ }, null, 4)])])) : createCommentVNode("", true)], 2);
85
+ }), 128))])]);
86
+ }
87
+
88
+ script.render = render;
89
+
90
+ export { script as FwProgressBar };
package/esm/index.js CHANGED
@@ -16,6 +16,8 @@ import { FwNavigationMenu as script$4 } from './fw-navigation-menu.js';
16
16
  export { FwNavigationMenu } from './fw-navigation-menu.js';
17
17
  import { s as script$7, u as uniqueId } from './index-59d76908.js';
18
18
  export { s as FwModal } from './index-59d76908.js';
19
+ import { FwProgressBar as script$8 } from './fw-progress-bar.js';
20
+ export { FwProgressBar } from './fw-progress-bar.js';
19
21
  import { FwEmailPulse as __default__, FwSuccessPulse as __default__$1 } from './fw-animations.js';
20
22
  export { FwEmailPulse, FwSuccessPulse } from './fw-animations.js';
21
23
  import { F as Form } from './vee-validate.esm-b64acab1.js';
@@ -279,6 +281,7 @@ var components = /*#__PURE__*/Object.freeze({
279
281
  FwTabs: script$5,
280
282
  FwTab: script$6,
281
283
  FwModal: script$7,
284
+ FwProgressBar: script$8,
282
285
  FwEmailPulse: __default__,
283
286
  FwSuccessPulse: __default__$1
284
287
  });