@frollo/frollo-web-ui 0.0.11 → 0.0.14

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
@@ -1259,7 +1259,7 @@ $$1({ target: 'Object', stat: true }, {
1259
1259
  entries: function entries(O) {
1260
1260
  return $entries(O);
1261
1261
  }
1262
- });var script$3 = vue.defineComponent({
1262
+ });var script$4 = vue.defineComponent({
1263
1263
  name: 'FwCard',
1264
1264
  props: {
1265
1265
  /**
@@ -1298,22 +1298,22 @@ $$1({ target: 'Object', stat: true }, {
1298
1298
  componentName: componentName
1299
1299
  };
1300
1300
  }
1301
- });var _hoisted_1$2 = {
1301
+ });var _hoisted_1$3 = {
1302
1302
  key: 0,
1303
1303
  "class": "fw-card--header text-lg px-8 py-4 font-bold bg-grey-lightest rounded-t-lg border-opacity-0"
1304
1304
  };
1305
- var _hoisted_2$2 = {
1305
+ var _hoisted_2$3 = {
1306
1306
  key: 0,
1307
1307
  "class": "fw-card--prefix-title text-primary"
1308
1308
  };
1309
- var _hoisted_3$2 = {
1309
+ var _hoisted_3$3 = {
1310
1310
  key: 1
1311
1311
  };
1312
- var _hoisted_4$2 = {
1312
+ var _hoisted_4$3 = {
1313
1313
  key: 1,
1314
1314
  "class": "p-8"
1315
1315
  };
1316
- function render$3(_ctx, _cache, $props, $setup, $data, $options) {
1316
+ function render$4(_ctx, _cache, $props, $setup, $data, $options) {
1317
1317
  return vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.componentName), {
1318
1318
  to: _ctx.to ? _ctx.to : null,
1319
1319
  href: _ctx.href ? _ctx.href : null,
@@ -1321,11 +1321,11 @@ function render$3(_ctx, _cache, $props, $setup, $data, $options) {
1321
1321
  "class": vue.normalizeClass(["fw-card shadow-card rounded-lg", _ctx.to || _ctx.href ? 'block cursor-pointer focus:outline-none ring-offset-3 focus:ring focus:ring-primary transform-none transition-transform hover:-translate-y-1' : ''])
1322
1322
  }, {
1323
1323
  "default": vue.withCtx(function () {
1324
- return [_ctx.title || _ctx.prefixTitle ? (vue.openBlock(), vue.createElementBlock("h4", _hoisted_1$2, [_ctx.prefixTitle ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$2, vue.toDisplayString(_ctx.prefixTitle), 1)) : vue.createCommentVNode("", true), _ctx.title ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$2, vue.toDisplayString(_ctx.title), 1)) : vue.createCommentVNode("", true)])) : vue.createCommentVNode("", true), _ctx.$slots["default"] ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$2, [vue.renderSlot(_ctx.$slots, "default")])) : vue.createCommentVNode("", true)];
1324
+ return [_ctx.title || _ctx.prefixTitle ? (vue.openBlock(), vue.createElementBlock("h4", _hoisted_1$3, [_ctx.prefixTitle ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$3, vue.toDisplayString(_ctx.prefixTitle), 1)) : vue.createCommentVNode("", true), _ctx.title ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$3, vue.toDisplayString(_ctx.title), 1)) : vue.createCommentVNode("", true)])) : vue.createCommentVNode("", true), _ctx.$slots["default"] ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$3, [vue.renderSlot(_ctx.$slots, "default")])) : vue.createCommentVNode("", true)];
1325
1325
  }),
1326
1326
  _: 3
1327
1327
  }, 8, ["to", "href", "tabindex", "class"]);
1328
- }script$3.render = render$3;var es_array_includes = {};var objectDefineProperties = {};var DESCRIPTORS$1 = descriptors;
1328
+ }script$4.render = render$4;var es_array_includes = {};var objectDefineProperties = {};var DESCRIPTORS$1 = descriptors;
1329
1329
  var V8_PROTOTYPE_DEFINE_BUG = v8PrototypeDefineBug;
1330
1330
  var definePropertyModule$1 = objectDefineProperty;
1331
1331
  var anObject$1 = anObject$4;
@@ -1461,7 +1461,7 @@ $({ target: 'Array', proto: true }, {
1461
1461
  });
1462
1462
 
1463
1463
  // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
1464
- addToUnscopables('includes');var script$2 = vue.defineComponent({
1464
+ addToUnscopables('includes');var script$3 = vue.defineComponent({
1465
1465
  name: 'FwButton',
1466
1466
  emits: ['click', 'mouseover', 'mouseout', 'focusin', 'focusout'],
1467
1467
  props: {
@@ -1539,9 +1539,9 @@ addToUnscopables('includes');var script$2 = vue.defineComponent({
1539
1539
  border: 'border-error focus-visible:ring-error'
1540
1540
  },
1541
1541
  link: {
1542
- text: 'text-primary underline hover:no-underline active:no-underline focus-visible:no-underline',
1542
+ text: 'text-primary font-normal underline hover:no-underline active:no-underline focus-visible:no-underline',
1543
1543
  background: '',
1544
- border: 'border-none rounded-none focus-visible:ring-primary'
1544
+ border: 'border-none focus-visible:ring-primary'
1545
1545
  },
1546
1546
  text: {
1547
1547
  text: 'text-body font-medium hover:text-white active:text-white',
@@ -1626,9 +1626,9 @@ addToUnscopables('includes');var script$2 = vue.defineComponent({
1626
1626
  tagName: tagName
1627
1627
  };
1628
1628
  }
1629
- });function render$2(_ctx, _cache, $props, $setup, $data, $options) {
1629
+ });function render$3(_ctx, _cache, $props, $setup, $data, $options) {
1630
1630
  return vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.tagName), {
1631
- "class": vue.normalizeClass(["fw-button font-bold cursor-pointer whitespace-nowrap rounded-full border-2 focus:outline-0 focus-visible:outline-0 focus:ring-none ring-offset-2 focus-visible:ring", [_ctx.textColorClass, _ctx.bgColorClass, _ctx.sizeClass, _ctx.borderClass, _ctx.variant === 'link' ? 'pl-0 pr-0 pt-0 pb-0' : '']]),
1631
+ "class": vue.normalizeClass(["fw-button cursor-pointer whitespace-nowrap border-2 focus:outline-0 focus-visible:outline-0 focus:ring-none ring-offset-2 focus-visible:ring", [_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']]),
1632
1632
  type: _ctx.tagName === 'button' ? _ctx.buttonType : null,
1633
1633
  to: _ctx.to ? _ctx.to : null,
1634
1634
  href: _ctx.href ? _ctx.href : null,
@@ -1669,13 +1669,13 @@ addToUnscopables('includes');var script$2 = vue.defineComponent({
1669
1669
  } else {
1670
1670
  style.appendChild(document.createTextNode(css));
1671
1671
  }
1672
- }var css_248z$2 = ".fw-button{-webkit-transition:all .25s ease-in;-o-transition:all .25s ease-in;transition:all .25s ease-in}";
1673
- var stylesheet$2 = ".fw-button{-webkit-transition:all .25s ease-in;-o-transition:all .25s ease-in;transition:all .25s ease-in}";
1674
- styleInject(css_248z$2);script$2.render = render$2;var script$1 = vue.defineComponent({
1672
+ }var css_248z$3 = ".fw-button{-webkit-transition:all .25s ease-in;-o-transition:all .25s ease-in;transition:all .25s ease-in}";
1673
+ var stylesheet$3 = ".fw-button{-webkit-transition:all .25s ease-in;-o-transition:all .25s ease-in;transition:all .25s ease-in}";
1674
+ styleInject(css_248z$3);script$3.render = render$3;var script$2 = vue.defineComponent({
1675
1675
  name: 'FwNavigationMenu',
1676
1676
  emits: ['action'],
1677
1677
  components: {
1678
- FwButton: script$2
1678
+ FwButton: script$3
1679
1679
  },
1680
1680
  props: {
1681
1681
  /**
@@ -1711,32 +1711,32 @@ styleInject(css_248z$2);script$2.render = render$2;var script$1 = vue.defineComp
1711
1711
  actionClicked: actionClicked
1712
1712
  };
1713
1713
  }
1714
- });var _hoisted_1$1 = {
1714
+ });var _hoisted_1$2 = {
1715
1715
  "class": "fw-nav-menu relative z-50 h-20 shadow-md"
1716
1716
  };
1717
- var _hoisted_2$1 = {
1717
+ var _hoisted_2$2 = {
1718
1718
  "class": "px-6 flex-1 h-full flex bg-white items-stretch justify-between"
1719
1719
  };
1720
- var _hoisted_3$1 = {
1720
+ var _hoisted_3$2 = {
1721
1721
  key: 0,
1722
1722
  "class": "flex-shrink-0 flex items-center"
1723
1723
  };
1724
- var _hoisted_4$1 = {
1724
+ var _hoisted_4$2 = {
1725
1725
  key: 1,
1726
1726
  "class": "container hidden sm:flex items-center justify-start sm:ml-6"
1727
1727
  };
1728
- var _hoisted_5$1 = {
1728
+ var _hoisted_5$2 = {
1729
1729
  "class": "flex space-x-2"
1730
1730
  };
1731
- var _hoisted_6$1 = {
1731
+ var _hoisted_6$2 = {
1732
1732
  key: 2,
1733
1733
  "class": "hidden sm:flex items-center justify-start sm:ml-6"
1734
1734
  };
1735
- var _hoisted_7$1 = {
1735
+ var _hoisted_7$2 = {
1736
1736
  "class": "flex items-center sm:hidden"
1737
1737
  };
1738
1738
 
1739
- var _hoisted_8$1 = /*#__PURE__*/vue.createElementVNode("span", {
1739
+ var _hoisted_8$2 = /*#__PURE__*/vue.createElementVNode("span", {
1740
1740
  "class": "sr-only"
1741
1741
  }, "Open main menu", -1);
1742
1742
 
@@ -1753,15 +1753,15 @@ var _hoisted_11$1 = {
1753
1753
  key: 0,
1754
1754
  "class": "fw-nav-menu--mobile min-h-screen top-0 left-0 pt-20 absolute w-full flex flex-col justify-between px-2 bg-white shadow-md pb-3 space-y-1"
1755
1755
  };
1756
- var _hoisted_12 = {
1756
+ var _hoisted_12$1 = {
1757
1757
  "class": "w-full flex flex-col"
1758
1758
  };
1759
- function render$1(_ctx, _cache, $props, $setup, $data, $options) {
1759
+ function render$2(_ctx, _cache, $props, $setup, $data, $options) {
1760
1760
  var _ctx$menuItems;
1761
1761
 
1762
1762
  var _component_FwButton = vue.resolveComponent("FwButton");
1763
1763
 
1764
- return vue.openBlock(), vue.createElementBlock("nav", _hoisted_1$1, [vue.createElementVNode("div", _hoisted_2$1, [_ctx.$slots.logo ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$1, [vue.renderSlot(_ctx.$slots, "logo")])) : vue.createCommentVNode("", true), ((_ctx$menuItems = _ctx.menuItems) === null || _ctx$menuItems === void 0 ? void 0 : _ctx$menuItems.length) > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$1, [vue.createElementVNode("div", _hoisted_5$1, [(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.menuItems, function (item, i) {
1764
+ return vue.openBlock(), vue.createElementBlock("nav", _hoisted_1$2, [vue.createElementVNode("div", _hoisted_2$2, [_ctx.$slots.logo ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$2, [vue.renderSlot(_ctx.$slots, "logo")])) : vue.createCommentVNode("", true), ((_ctx$menuItems = _ctx.menuItems) === null || _ctx$menuItems === void 0 ? void 0 : _ctx$menuItems.length) > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$2, [vue.createElementVNode("div", _hoisted_5$2, [(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.menuItems, function (item, i) {
1765
1765
  return vue.openBlock(), vue.createBlock(_component_FwButton, {
1766
1766
  key: i,
1767
1767
  variant: "text",
@@ -1775,7 +1775,7 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
1775
1775
  }),
1776
1776
  _: 2
1777
1777
  }, 1032, ["href", "to"]);
1778
- }), 128))])])) : vue.createCommentVNode("", true), _ctx.actionLabel ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$1, [vue.createVNode(_component_FwButton, {
1778
+ }), 128))])])) : vue.createCommentVNode("", true), _ctx.actionLabel ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$2, [vue.createVNode(_component_FwButton, {
1779
1779
  onClick: _ctx.actionClicked,
1780
1780
  size: "md",
1781
1781
  "aria-label": _ctx.actionLabel
@@ -1784,13 +1784,13 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
1784
1784
  return [vue.createTextVNode(vue.toDisplayString(_ctx.actionLabel), 1)];
1785
1785
  }),
1786
1786
  _: 1
1787
- }, 8, ["onClick", "aria-label"])])) : vue.createCommentVNode("", true), vue.createElementVNode("div", _hoisted_7$1, [vue.createVNode(_component_FwButton, {
1787
+ }, 8, ["onClick", "aria-label"])])) : vue.createCommentVNode("", true), vue.createElementVNode("div", _hoisted_7$2, [vue.createVNode(_component_FwButton, {
1788
1788
  variant: "text",
1789
1789
  size: "sm",
1790
1790
  onClick: _ctx.toggleMobileMenu
1791
1791
  }, {
1792
1792
  "default": vue.withCtx(function () {
1793
- return [_hoisted_8$1, (vue.openBlock(), vue.createElementBlock("svg", _hoisted_9$1, [vue.createElementVNode("path", {
1793
+ return [_hoisted_8$2, (vue.openBlock(), vue.createElementBlock("svg", _hoisted_9$1, [vue.createElementVNode("path", {
1794
1794
  "stroke-linecap": "round",
1795
1795
  "stroke-linejoin": "round",
1796
1796
  "stroke-width": "2",
@@ -1804,7 +1804,7 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
1804
1804
  "default": vue.withCtx(function () {
1805
1805
  var _ctx$menuItems2;
1806
1806
 
1807
- return [((_ctx$menuItems2 = _ctx.menuItems) === null || _ctx$menuItems2 === void 0 ? void 0 : _ctx$menuItems2.length) > 0 && _ctx.isMobileMenuOpen ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_11$1, [vue.createElementVNode("div", _hoisted_12, [(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.menuItems, function (item, i) {
1807
+ return [((_ctx$menuItems2 = _ctx.menuItems) === null || _ctx$menuItems2 === void 0 ? void 0 : _ctx$menuItems2.length) > 0 && _ctx.isMobileMenuOpen ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_11$1, [vue.createElementVNode("div", _hoisted_12$1, [(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.menuItems, function (item, i) {
1808
1808
  return vue.openBlock(), vue.createBlock(_component_FwButton, {
1809
1809
  key: i,
1810
1810
  "class": "w-full rounded-md px-2",
@@ -1833,9 +1833,9 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
1833
1833
  }),
1834
1834
  _: 1
1835
1835
  })]);
1836
- }var css_248z$1 = ".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}}";
1837
- var stylesheet$1 = ".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}}";
1838
- styleInject(css_248z$1);script$1.render = render$1;function getDevtoolsGlobalHook() {
1836
+ }var css_248z$2 = ".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}}";
1837
+ var stylesheet$2 = ".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}}";
1838
+ styleInject(css_248z$2);script$2.render = render$2;function getDevtoolsGlobalHook() {
1839
1839
  return getTarget().__VUE_DEVTOOLS_GLOBAL_HOOK__;
1840
1840
  }
1841
1841
  function getTarget() {
@@ -4961,7 +4961,7 @@ function useSubmitForm(cb) {
4961
4961
  }
4962
4962
  return onSubmit(e);
4963
4963
  };
4964
- }var script = vue.defineComponent({
4964
+ }var script$1 = vue.defineComponent({
4965
4965
  name: 'FwInput',
4966
4966
  emits: ['update:modelValue'],
4967
4967
  components: {
@@ -5023,6 +5023,13 @@ function useSubmitForm(cb) {
5023
5023
  readonly: {
5024
5024
  type: Boolean,
5025
5025
  "default": false
5026
+ },
5027
+
5028
+ /**
5029
+ * The hint text shown below the input
5030
+ */
5031
+ hint: {
5032
+ type: String
5026
5033
  }
5027
5034
  },
5028
5035
  setup: function setup(props, ctx) {
@@ -5062,27 +5069,29 @@ if (DESCRIPTORS && !FUNCTION_NAME_EXISTS) {
5062
5069
  }
5063
5070
  }
5064
5071
  });
5065
- }var _hoisted_1 = {
5072
+ }var _hoisted_1$1 = {
5066
5073
  "class": "fw-input w-full"
5067
5074
  };
5068
- var _hoisted_2 = {
5075
+ var _hoisted_2$1 = {
5069
5076
  "class": "flex flex-col"
5070
5077
  };
5071
- var _hoisted_3 = ["for"];
5072
- var _hoisted_4 = {
5073
- "class": "relative"
5078
+ var _hoisted_3$1 = {
5079
+ "class": "flex flex-row justify-between"
5074
5080
  };
5075
- var _hoisted_5 = {
5076
- key: 0,
5077
- "class": "flex text-grey-base absolute w-9 h-full inset-y-0 left-0 items-center pl-3 pointer-events-none"
5081
+ var _hoisted_4$1 = ["for"];
5082
+ var _hoisted_5$1 = {
5083
+ key: 1
5078
5084
  };
5079
- var _hoisted_6 = ["placeholder", "type", "readonly", "disabled"];
5080
- var _hoisted_7 = {
5085
+ var _hoisted_6$1 = {
5086
+ "class": "relative"
5087
+ };
5088
+ var _hoisted_7$1 = {
5081
5089
  key: 0,
5082
- "class": "flex text-error absolute w-9 h-full inset-y-0 right-0 items-center pr-3 pointer-events-none"
5090
+ "class": "flex text-black absolute w-9 h-full inset-y-0 left-0 items-center pl-3 pointer-events-none"
5083
5091
  };
5092
+ var _hoisted_8$1 = ["placeholder", "type", "readonly", "disabled"];
5084
5093
 
5085
- var _hoisted_8 = /*#__PURE__*/vue.createElementVNode("svg", {
5094
+ var _hoisted_9 = /*#__PURE__*/vue.createElementVNode("svg", {
5086
5095
  fill: "currentColor",
5087
5096
  "aria-hidden": "true",
5088
5097
  focusable: "false",
@@ -5093,17 +5102,25 @@ var _hoisted_8 = /*#__PURE__*/vue.createElementVNode("svg", {
5093
5102
  d: "M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM232 152C232 138.8\n 242.8 128 256 128s24 10.75 24 24v128c0 13.25-10.75 24-24 24S232 293.3 232 280V152zM256 400c-17.36\n 0-31.44-14.08-31.44-31.44c0-17.36 14.07-31.44 31.44-31.44s31.44 14.08 31.44 31.44C287.4 385.9 273.4\n 400 256 400z"
5094
5103
  })], -1);
5095
5104
 
5096
- var _hoisted_9 = [_hoisted_8];
5097
- var _hoisted_10 = {
5098
- "class": "text-error italic text-right text-sm font-medium mt-2 min-h-[21px]"
5099
- };
5105
+ var _hoisted_10 = [_hoisted_9];
5100
5106
  var _hoisted_11 = {
5101
- key: 0
5107
+ key: 1,
5108
+ "class": "flex text-black absolute w-10 h-full inset-y-0 right-0 items-center pr-3"
5102
5109
  };
5103
- function render(_ctx, _cache, $props, $setup, $data, $options) {
5110
+ var _hoisted_12 = {
5111
+ "class": "italic text-right text-sm font-medium mt-2 min-h-[21px]"
5112
+ };
5113
+ var _hoisted_13 = {
5114
+ key: 0,
5115
+ "class": "text-error"
5116
+ };
5117
+ var _hoisted_14 = {
5118
+ key: 1
5119
+ };
5120
+ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
5104
5121
  var _component_InputField = vue.resolveComponent("InputField");
5105
5122
 
5106
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [vue.createVNode(_component_InputField, {
5123
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1, [vue.createVNode(_component_InputField, {
5107
5124
  modelValue: _ctx.inputValue,
5108
5125
  "onUpdate:modelValue": _cache[0] || (_cache[0] = function ($event) {
5109
5126
  return _ctx.inputValue = $event;
@@ -5116,39 +5133,138 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
5116
5133
  errors = _ref.errors,
5117
5134
  errorMessage = _ref.errorMessage,
5118
5135
  meta = _ref.meta;
5119
- return [vue.createElementVNode("div", _hoisted_2, [_ctx.label ? (vue.openBlock(), vue.createElementBlock("label", {
5136
+ return [vue.createElementVNode("div", _hoisted_2$1, [vue.createElementVNode("div", _hoisted_3$1, [_ctx.label ? (vue.openBlock(), vue.createElementBlock("label", {
5120
5137
  key: 0,
5121
5138
  "for": _ctx.name,
5122
5139
  "class": "block mb-2"
5123
- }, vue.toDisplayString(_ctx.label), 9, _hoisted_3)) : vue.createCommentVNode("", true), vue.createElementVNode("div", _hoisted_4, [_ctx.$slots.prefixIcon ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5, [vue.renderSlot(_ctx.$slots, "prefixIcon")])) : vue.createCommentVNode("", true), vue.createElementVNode("input", vue.mergeProps(field, {
5140
+ }, vue.toDisplayString(_ctx.label), 9, _hoisted_4$1)) : vue.createCommentVNode("", true), _ctx.$slots.action ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$1, [vue.renderSlot(_ctx.$slots, "action")])) : vue.createCommentVNode("", true)]), vue.createElementVNode("div", _hoisted_6$1, [_ctx.$slots.prefix ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$1, [vue.renderSlot(_ctx.$slots, "prefix")])) : vue.createCommentVNode("", true), vue.createElementVNode("input", vue.mergeProps(field, {
5124
5141
  placeholder: _ctx.placeholder,
5125
5142
  type: _ctx.type,
5126
5143
  readonly: _ctx.readonly,
5127
5144
  disabled: _ctx.readonly,
5128
5145
  "class": ["border-2 border-grey-lightest rounded-lg focus:outline-none focus:ring-2 focus:ring-primary block w-full p-2.5", {
5129
- 'pl-10': !!_ctx.$slots.prefixIcon
5146
+ 'pl-10': !!_ctx.$slots.prefix,
5147
+ 'pr-20': !!_ctx.$slots.suffix
5130
5148
  }]
5131
- }), null, 16, _hoisted_6), vue.createVNode(vue.Transition, {
5132
- name: "errorFadeIn"
5149
+ }), null, 16, _hoisted_8$1), vue.createVNode(vue.Transition, {
5150
+ name: "fwFadeIn"
5133
5151
  }, {
5134
5152
  "default": vue.withCtx(function () {
5135
- return [(errorMessage || errors[0]) && meta.touched ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7, _hoisted_9)) : vue.createCommentVNode("", true)];
5153
+ return [(errorMessage || errors[0]) && meta.touched ? (vue.openBlock(), vue.createElementBlock("div", {
5154
+ key: 0,
5155
+ "class": vue.normalizeClass(["flex text-error absolute w-9 h-full inset-y-0 right-0 items-center pr-3 pointer-events-none", _ctx.$slots.suffix ? 'mr-8' : ''])
5156
+ }, _hoisted_10, 2)) : vue.createCommentVNode("", true)];
5136
5157
  }),
5137
5158
  _: 2
5138
- }, 1024)]), vue.createElementVNode("div", _hoisted_10, [vue.createVNode(vue.Transition, {
5139
- name: "errorFadeIn"
5159
+ }, 1024), _ctx.$slots.suffix ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_11, [vue.renderSlot(_ctx.$slots, "suffix")])) : vue.createCommentVNode("", true)]), vue.createElementVNode("div", _hoisted_12, [vue.createVNode(vue.Transition, {
5160
+ name: "fwFadeIn",
5161
+ mode: "out-in"
5140
5162
  }, {
5141
5163
  "default": vue.withCtx(function () {
5142
- return [(errorMessage || errors[0]) && meta.touched ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_11, vue.toDisplayString(errorMessage || errors[0]), 1)) : vue.createCommentVNode("", true)];
5164
+ return [(errorMessage || errors[0]) && meta.touched ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_13, vue.toDisplayString(errorMessage || errors[0]), 1)) : _ctx.hint ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_14, vue.toDisplayString(_ctx.hint), 1)) : vue.createCommentVNode("", true)];
5143
5165
  }),
5144
5166
  _: 2
5145
5167
  }, 1024)])])];
5146
5168
  }),
5147
5169
  _: 3
5148
5170
  }, 8, ["modelValue", "name", "rules"])]);
5149
- }var css_248z = ".errorFadeIn-enter-active{-webkit-animation:errorFadeIn .35s;animation:errorFadeIn .35s;-webkit-transition:opacity .35s ease-in;-o-transition:opacity .35s ease-in;transition:opacity .35s ease-in}.errorFadeIn-leave-active{animation:errorFadeIn .35s reverse;-webkit-transition:opacity .35s ease-out;-o-transition:opacity .35s ease-out;transition:opacity .35s ease-out}@-webkit-keyframes errorFadeIn{0%{opacity:0}to{opacity:1}}@keyframes errorFadeIn{0%{opacity:0}to{opacity:1}}";
5150
- var stylesheet = ".errorFadeIn-enter-active{-webkit-animation:errorFadeIn .35s;animation:errorFadeIn .35s;-webkit-transition:opacity .35s ease-in;-o-transition:opacity .35s ease-in;transition:opacity .35s ease-in}.errorFadeIn-leave-active{animation:errorFadeIn .35s reverse;-webkit-transition:opacity .35s ease-out;-o-transition:opacity .35s ease-out;transition:opacity .35s ease-out}@-webkit-keyframes errorFadeIn{0%{opacity:0}to{opacity:1}}@keyframes errorFadeIn{0%{opacity:0}to{opacity:1}}";
5151
- styleInject(css_248z);script.render = render;var components$1=/*#__PURE__*/Object.freeze({__proto__:null,FwCard:script$3,FwButton:script$2,FwNavigationMenu:script$1,FwForm:Form,FwInput:script});var install = function install(app) {
5171
+ }var css_248z$1 = ".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}}";
5172
+ var stylesheet$1 = ".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}}";
5173
+ styleInject(css_248z$1);script$1.render = render$1;var script = vue.defineComponent({
5174
+ name: 'FwCheckbox',
5175
+ components: {
5176
+ InputField: Field
5177
+ },
5178
+ props: {
5179
+ /**
5180
+ * The name of the input field. Must be unique per form.
5181
+ */
5182
+ name: {
5183
+ type: String,
5184
+ required: true
5185
+ },
5186
+
5187
+ /**
5188
+ * Label for the input. Also renders to an aria-label attribute
5189
+ */
5190
+ label: {
5191
+ type: String
5192
+ },
5193
+
5194
+ /**
5195
+ * Validation rules. Accepts a string, object, function or schema.
5196
+ */
5197
+ rules: {
5198
+ type: [String, Object, Function]
5199
+ },
5200
+
5201
+ /**
5202
+ * The hint text shown below the input
5203
+ */
5204
+ hint: {
5205
+ type: String
5206
+ }
5207
+ }
5208
+ });var _hoisted_1 = {
5209
+ "class": "fw-checkbox w-full"
5210
+ };
5211
+ var _hoisted_2 = {
5212
+ "class": "flex flex-col"
5213
+ };
5214
+ var _hoisted_3 = ["for"];
5215
+ var _hoisted_4 = ["value", "name"];
5216
+ var _hoisted_5 = ["innerHTML"];
5217
+ var _hoisted_6 = {
5218
+ "class": "italic text-sm font-medium min-h-[21px]"
5219
+ };
5220
+ var _hoisted_7 = {
5221
+ key: 0,
5222
+ "class": "text-error"
5223
+ };
5224
+ var _hoisted_8 = {
5225
+ key: 1
5226
+ };
5227
+ function render(_ctx, _cache, $props, $setup, $data, $options) {
5228
+ var _component_InputField = vue.resolveComponent("InputField");
5229
+
5230
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [vue.createVNode(_component_InputField, {
5231
+ name: _ctx.name,
5232
+ value: _ctx.name,
5233
+ type: "checkbox",
5234
+ rules: _ctx.rules
5235
+ }, {
5236
+ "default": vue.withCtx(function (_ref) {
5237
+ var field = _ref.field,
5238
+ errors = _ref.errors,
5239
+ errorMessage = _ref.errorMessage,
5240
+ meta = _ref.meta;
5241
+ return [vue.createElementVNode("div", _hoisted_2, [_ctx.label ? (vue.openBlock(), vue.createElementBlock("label", {
5242
+ key: 0,
5243
+ "for": _ctx.name,
5244
+ "class": "inline-flex items-center mb-3"
5245
+ }, [vue.createElementVNode("input", vue.mergeProps(field, {
5246
+ value: _ctx.name,
5247
+ name: _ctx.name,
5248
+ type: "checkbox",
5249
+ "class": "text-primary w-6 h-6 cursor-pointer bg-white border-grey-light border rounded"
5250
+ }), null, 16, _hoisted_4), vue.createElementVNode("span", {
5251
+ "class": "ml-2",
5252
+ innerHTML: _ctx.label
5253
+ }, null, 8, _hoisted_5)], 8, _hoisted_3)) : vue.createCommentVNode("", true), vue.createElementVNode("div", _hoisted_6, [vue.createVNode(vue.Transition, {
5254
+ name: "fwFadeIn",
5255
+ mode: "out-in"
5256
+ }, {
5257
+ "default": vue.withCtx(function () {
5258
+ return [(errorMessage || errors[0]) && meta.touched ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_7, vue.toDisplayString(errorMessage || errors[0]), 1)) : _ctx.hint ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_8, vue.toDisplayString(_ctx.hint), 1)) : vue.createCommentVNode("", true)];
5259
+ }),
5260
+ _: 2
5261
+ }, 1024)])])];
5262
+ }),
5263
+ _: 1
5264
+ }, 8, ["name", "value", "rules"])]);
5265
+ }var css_248z = ".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}}.fw-checkbox input{-webkit-print-color-adjust:exact;-ms-flex-negative:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-origin:border-box;color-adjust:exact;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: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}";
5266
+ var stylesheet = ".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}}.fw-checkbox input{-webkit-print-color-adjust:exact;-ms-flex-negative:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-origin:border-box;color-adjust:exact;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: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}";
5267
+ styleInject(css_248z);script.render = render;var components$1=/*#__PURE__*/Object.freeze({__proto__:null,FwCard:script$4,FwButton:script$3,FwNavigationMenu:script$2,FwForm:Form,FwInput:script$1,FwCheckbox:script});var install = function install(app) {
5152
5268
  Object.entries(components$1).forEach(function (_ref) {
5153
5269
  var _ref2 = _slicedToArray(_ref, 2),
5154
5270
  componentName = _ref2[0],
@@ -5156,7 +5272,7 @@ styleInject(css_248z);script.render = render;var components$1=/*#__PURE__*/Objec
5156
5272
 
5157
5273
  app.component(componentName, component);
5158
5274
  });
5159
- };var components=/*#__PURE__*/Object.freeze({__proto__:null,'default':install,FwCard:script$3,FwButton:script$2,FwNavigationMenu:script$1,FwForm:Form,FwInput:script});Object.entries(components).forEach(function (_ref) {
5275
+ };var components=/*#__PURE__*/Object.freeze({__proto__:null,'default':install,FwCard:script$4,FwButton:script$3,FwNavigationMenu:script$2,FwForm:Form,FwInput:script$1,FwCheckbox:script});Object.entries(components).forEach(function (_ref) {
5160
5276
  var _ref2 = _slicedToArray(_ref, 2),
5161
5277
  componentName = _ref2[0],
5162
5278
  component = _ref2[1];