@frollo/frollo-web-ui 8.0.4 → 8.1.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.
package/cjs/index.js CHANGED
@@ -6974,6 +6974,10 @@ function uniqueId(prefix) {
6974
6974
  required: {
6975
6975
  type: Boolean,
6976
6976
  "default": false
6977
+ },
6978
+ centerAlignInput: {
6979
+ type: Boolean,
6980
+ "default": false
6977
6981
  }
6978
6982
  },
6979
6983
  setup: function setup(props, ctx) {
@@ -7022,11 +7026,11 @@ var _hoisted_10$5 = {
7022
7026
  key: 0,
7023
7027
  "class": "text-left text-sm font-medium mt-2 min-h-[21px]"
7024
7028
  };
7025
- var _hoisted_11$2 = {
7029
+ var _hoisted_11$3 = {
7026
7030
  key: 0,
7027
7031
  "class": "text-error"
7028
7032
  };
7029
- var _hoisted_12$2 = {
7033
+ var _hoisted_12$3 = {
7030
7034
  key: 1
7031
7035
  };
7032
7036
  function render$17(_ctx, _cache, $props, $setup, $data, $options) {
@@ -7066,7 +7070,9 @@ function render$17(_ctx, _cache, $props, $setup, $data, $options) {
7066
7070
  "class": ["border-blue-500", [{
7067
7071
  'pl-10': !!_ctx.$slots.prefix,
7068
7072
  'pr-20': !!_ctx.$slots.suffix
7069
- }, (errorMessage || errors[0]) && meta.touched ? 'border-error text-error' : 'border-grey-40', _ctx.inputBaseClass, _ctx.rounded ? 'rounded-full' : 'rounded']]
7073
+ }, (errorMessage || errors[0]) && meta.touched ? 'border-error text-error' : 'border-grey-40', _ctx.inputBaseClass, _ctx.rounded ? 'rounded-full' : 'rounded', {
7074
+ 'text-center': _ctx.centerAlignInput
7075
+ }]]
7070
7076
  }), null, 16, _hoisted_8$9), _ctx.$slots.suffix ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_9$8, [vue.renderSlot(_ctx.$slots, "suffix", {
7071
7077
  "class": "h-full"
7072
7078
  })])) : vue.createCommentVNode("", true)]), _ctx.enableErrors ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_10$5, [vue.createVNode(vue.Transition, {
@@ -7074,7 +7080,7 @@ function render$17(_ctx, _cache, $props, $setup, $data, $options) {
7074
7080
  mode: "out-in"
7075
7081
  }, {
7076
7082
  "default": vue.withCtx(function () {
7077
- return [(errorMessage || errors[0]) && meta.touched ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_11$2, vue.toDisplayString(errorMessage || errors[0]), 1)) : _ctx.hint ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_12$2, vue.toDisplayString(_ctx.hint), 1)) : vue.createCommentVNode("", true)];
7083
+ return [(errorMessage || errors[0]) && meta.touched ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_11$3, vue.toDisplayString(errorMessage || errors[0]), 1)) : _ctx.hint ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_12$3, vue.toDisplayString(_ctx.hint), 1)) : vue.createCommentVNode("", true)];
7078
7084
  }),
7079
7085
  _: 2
7080
7086
  }, 1024)])) : vue.createCommentVNode("", true)])];
@@ -8130,12 +8136,12 @@ var _hoisted_9$6 = {
8130
8136
  var _hoisted_10$4 = {
8131
8137
  "class": ""
8132
8138
  };
8133
- var _hoisted_11$1 = ["aria-labelledby"];
8134
- var _hoisted_12$1 = ["onClick"];
8135
- var _hoisted_13$1 = {
8139
+ var _hoisted_11$2 = ["aria-labelledby"];
8140
+ var _hoisted_12$2 = ["onClick"];
8141
+ var _hoisted_13$2 = {
8136
8142
  "class": "flex items-center gap-x-2"
8137
8143
  };
8138
- var _hoisted_14$1 = {
8144
+ var _hoisted_14$2 = {
8139
8145
  "class": "flex flex-col text-left"
8140
8146
  };
8141
8147
  var _hoisted_15$1 = {
@@ -8194,12 +8200,12 @@ function render$p(_ctx, _cache, $props, $setup, $data, $options) {
8194
8200
  onClick: function onClick($event) {
8195
8201
  return _ctx.selectOption(option);
8196
8202
  }
8197
- }, [vue.createElementVNode("div", _hoisted_13$1, [option.image_url ? (vue.openBlock(), vue.createBlock(_component_FwImage, {
8203
+ }, [vue.createElementVNode("div", _hoisted_13$2, [option.image_url ? (vue.openBlock(), vue.createBlock(_component_FwImage, {
8198
8204
  key: 0,
8199
8205
  src: option.image_url,
8200
8206
  "class": "w-[20px] h-[20px]"
8201
- }, null, 8, ["src"])) : vue.createCommentVNode("", true), vue.createElementVNode("div", _hoisted_14$1, [vue.createElementVNode("span", null, vue.toDisplayString(option.label), 1), option.description ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_15$1, vue.toDisplayString(option.description), 1)) : vue.createCommentVNode("", true)])])], 10, _hoisted_12$1);
8202
- }), 128))], 10, _hoisted_11$1), [[vue.vShow, _ctx.isOpen]])];
8207
+ }, null, 8, ["src"])) : vue.createCommentVNode("", true), vue.createElementVNode("div", _hoisted_14$2, [vue.createElementVNode("span", null, vue.toDisplayString(option.label), 1), option.description ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_15$1, vue.toDisplayString(option.description), 1)) : vue.createCommentVNode("", true)])])], 10, _hoisted_12$2);
8208
+ }), 128))], 10, _hoisted_11$2), [[vue.vShow, _ctx.isOpen]])];
8203
8209
  }),
8204
8210
  _: 1
8205
8211
  }), _ctx.enableErrors ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_16$1, [vue.createVNode(vue.Transition, {
@@ -9322,11 +9328,16 @@ styleInject(css_248z$b);__default__$7.render = render$g;var __default__$6 = vue.
9322
9328
  components: {
9323
9329
  ArrowSortSvg: render$B,
9324
9330
  ArrowDownSvg: render$A,
9325
- FwLoadingBar: script$k
9331
+ ChevronLeftSvg: render$O,
9332
+ ChevronRightSvg: render$P,
9333
+ FwLoadingBar: script$k,
9334
+ FwButton: script$f,
9335
+ FwInput: script$m
9326
9336
  },
9327
9337
  emits: [/** Fired when a row is clicked with row data */
9328
9338
  'rowClicked', /** Fired when a column is sorted */
9329
- 'columnSorted'],
9339
+ 'columnSorted', /** Fired when a page number or arrow is clicked */
9340
+ 'pageChanged'],
9330
9341
  props: {
9331
9342
  items: {
9332
9343
  type: Array,
@@ -9350,6 +9361,13 @@ styleInject(css_248z$b);__default__$7.render = render$g;var __default__$6 = vue.
9350
9361
  },
9351
9362
  autoSortColumn: {
9352
9363
  type: Number
9364
+ },
9365
+ enablePagination: {
9366
+ type: Boolean,
9367
+ "default": false
9368
+ },
9369
+ totalAmount: {
9370
+ type: Number
9353
9371
  }
9354
9372
  },
9355
9373
  setup: function setup(props, ctx) {
@@ -9359,6 +9377,35 @@ styleInject(css_248z$b);__default__$7.render = render$g;var __default__$6 = vue.
9359
9377
  var sortBy = vue.ref('');
9360
9378
  var sortDirection = vue.ref('asc');
9361
9379
  var currentSortedColumn = vue.ref('');
9380
+ var currentPage = vue.ref('1');
9381
+ var maxDisplayedPages = 7;
9382
+ var pages = vue.computed(function () {
9383
+ if (!props.totalAmount) return;
9384
+ var currentPageNumber = Number(currentPage.value);
9385
+ var pageButtons = [];
9386
+ var pageNumberLimit = currentPageNumber + maxDisplayedPages - 1;
9387
+ var maxPageNumber = props.totalAmount - currentPageNumber < maxDisplayedPages ? props.totalAmount : pageNumberLimit + 1;
9388
+ for (var i = currentPageNumber; i < maxPageNumber + 1; i++) {
9389
+ pageButtons.push({
9390
+ pageNumber: i.toString(),
9391
+ selected: i.toString() === currentPage.value
9392
+ });
9393
+ }
9394
+ if (props.totalAmount === maxDisplayedPages) {
9395
+ return pageButtons;
9396
+ }
9397
+ if (props.totalAmount - currentPageNumber > maxDisplayedPages) {
9398
+ pageButtons.push({
9399
+ pageNumber: '...',
9400
+ selected: false
9401
+ }, {
9402
+ pageNumber: props.totalAmount.toString(),
9403
+ selected: false
9404
+ });
9405
+ }
9406
+ ctx.emit('pageChanged', currentPage.value);
9407
+ return pageButtons;
9408
+ });
9362
9409
  vue.onMounted(function () {
9363
9410
  if (Number(props.autoSortColumn) >= 0) {
9364
9411
  sortColumn(columns.value[Number(props.autoSortColumn)], false);
@@ -9432,6 +9479,16 @@ styleInject(css_248z$b);__default__$7.render = render$g;var __default__$6 = vue.
9432
9479
  var rowClicked = function rowClicked(row) {
9433
9480
  if (props.clickableRows) ctx.emit('rowClicked', row);
9434
9481
  };
9482
+ var pageNumberClick = function pageNumberClick(pageNumber) {
9483
+ if (pageNumber === '...') {
9484
+ currentPage.value = (Number(currentPage.value) + maxDisplayedPages + 1).toString();
9485
+ return;
9486
+ }
9487
+ currentPage.value = pageNumber;
9488
+ };
9489
+ var pageArrowClick = function pageArrowClick(next) {
9490
+ currentPage.value = Number(currentPage.value) + (next ? 1 : -1).toString();
9491
+ };
9435
9492
  return {
9436
9493
  columns: columns,
9437
9494
  sortBy: sortBy,
@@ -9444,14 +9501,18 @@ styleInject(css_248z$b);__default__$7.render = render$g;var __default__$6 = vue.
9444
9501
  isColumnSortable: isColumnSortable,
9445
9502
  isDisabled: isDisabled,
9446
9503
  rowClicked: rowClicked,
9447
- bgHoverColor: bgHoverColor
9504
+ bgHoverColor: bgHoverColor,
9505
+ currentPage: currentPage,
9506
+ pages: pages,
9507
+ pageNumberClick: pageNumberClick,
9508
+ pageArrowClick: pageArrowClick
9448
9509
  };
9449
9510
  }
9450
9511
  });
9451
9512
  var __injectCSSVars__$5 = function __injectCSSVars__() {
9452
9513
  vue.useCssVars(function (_ctx) {
9453
9514
  return {
9454
- "d606643a": _ctx.bgHoverColor
9515
+ "c795d904": _ctx.bgHoverColor
9455
9516
  };
9456
9517
  });
9457
9518
  };
@@ -9460,42 +9521,62 @@ __default__$6.setup = __setup__$5 ? function (props, ctx) {
9460
9521
  __injectCSSVars__$5();
9461
9522
  return __setup__$5(props, ctx);
9462
9523
  } : __injectCSSVars__$5;var _withScopeId$4 = function _withScopeId(n) {
9463
- return vue.pushScopeId("data-v-46577d1a"), n = n(), vue.popScopeId(), n;
9524
+ return vue.pushScopeId("data-v-84c515f0"), n = n(), vue.popScopeId(), n;
9525
+ };
9526
+ var _hoisted_1$p = {
9527
+ "class": "flex flex-col"
9464
9528
  };
9465
- var _hoisted_1$p = ["aria-busy"];
9466
- var _hoisted_2$n = {
9529
+ var _hoisted_2$n = ["aria-busy"];
9530
+ var _hoisted_3$j = {
9467
9531
  "class": "text-p2 border-b border-grey-40"
9468
9532
  };
9469
- var _hoisted_3$j = ["tabindex", "onKeydown", "onClick"];
9470
- var _hoisted_4$a = {
9533
+ var _hoisted_4$a = ["tabindex", "onKeydown", "onClick"];
9534
+ var _hoisted_5$8 = {
9471
9535
  "class": "flex flex-row items-center"
9472
9536
  };
9473
- var _hoisted_5$8 = {
9537
+ var _hoisted_6$6 = {
9474
9538
  key: 0,
9475
9539
  "class": "ml-1 flex items-center justify-center w-5"
9476
9540
  };
9477
- var _hoisted_6$6 = {
9541
+ var _hoisted_7$5 = {
9478
9542
  "class": "text-p2 bg-white font-light"
9479
9543
  };
9480
- var _hoisted_7$5 = {
9544
+ var _hoisted_8$4 = {
9481
9545
  key: 0,
9482
9546
  "class": "py-4 pl-5 pr-3 text-left"
9483
9547
  };
9484
- var _hoisted_8$4 = {
9548
+ var _hoisted_9$3 = {
9485
9549
  key: 0,
9486
9550
  "class": "py-4 pl-5 pr-3 text-left"
9487
9551
  };
9488
- var _hoisted_9$3 = ["onClick", "tabindex", "onKeydown"];
9489
- var _hoisted_10$1 = ["innerHTML"];
9552
+ var _hoisted_10$1 = ["onClick", "tabindex", "onKeydown"];
9553
+ var _hoisted_11$1 = ["innerHTML"];
9554
+ var _hoisted_12$1 = {
9555
+ key: 0,
9556
+ "class": "flex flex-row h-[44px] mt-8 px-64 space-x-2"
9557
+ };
9558
+ var _hoisted_13$1 = {
9559
+ "class": "h-4 w-4"
9560
+ };
9561
+ var _hoisted_14$1 = /*#__PURE__*/_withScopeId$4(function () {
9562
+ return /*#__PURE__*/vue.createElementVNode("strong", {
9563
+ "class": "whitespace-nowrap px-4 self-center"
9564
+ }, "Go to", -1);
9565
+ });
9490
9566
  function render$f(_ctx, _cache, $props, $setup, $data, $options) {
9567
+ var _ctx$options;
9491
9568
  var _component_ArrowSortSvg = vue.resolveComponent("ArrowSortSvg");
9492
9569
  var _component_ArrowDownSvg = vue.resolveComponent("ArrowDownSvg");
9493
9570
  var _component_FwLoadingBar = vue.resolveComponent("FwLoadingBar");
9494
- return vue.openBlock(), vue.createElementBlock("table", {
9495
- "class": vue.normalizeClass(["fw-table table-auto table-responsive rounded-md shadow-card", _ctx.loading ? 'cursor-wait' : '']),
9571
+ var _component_ChevronLeftSvg = vue.resolveComponent("ChevronLeftSvg");
9572
+ var _component_FwButton = vue.resolveComponent("FwButton");
9573
+ var _component_ChevronRightSvg = vue.resolveComponent("ChevronRightSvg");
9574
+ var _component_FwInput = vue.resolveComponent("FwInput");
9575
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$p, [vue.createElementVNode("table", {
9576
+ "class": vue.normalizeClass(["fw-table table-auto table-responsive rounded-md shadow-card flex-1", _ctx.loading ? 'cursor-wait' : '']),
9496
9577
  "aria-live": "polite",
9497
9578
  "aria-busy": _ctx.loading
9498
- }, [vue.createElementVNode("thead", _hoisted_2$n, [vue.createElementVNode("tr", null, [_ctx.$slots.preHead ? vue.renderSlot(_ctx.$slots, "preHead", {
9579
+ }, [vue.createElementVNode("thead", _hoisted_3$j, [vue.createElementVNode("tr", null, [_ctx.$slots.preHead ? vue.renderSlot(_ctx.$slots, "preHead", {
9499
9580
  key: 0
9500
9581
  }) : vue.createCommentVNode("", true), (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.columns, function (column, thKey) {
9501
9582
  return vue.openBlock(), vue.createElementBlock(vue.Fragment, {
@@ -9510,9 +9591,9 @@ function render$f(_ctx, _cache, $props, $setup, $data, $options) {
9510
9591
  onClick: function onClick($event) {
9511
9592
  return _ctx.sortColumn(column);
9512
9593
  }
9513
- }, [vue.createElementVNode("div", _hoisted_4$a, [vue.createElementVNode("span", {
9594
+ }, [vue.createElementVNode("div", _hoisted_5$8, [vue.createElementVNode("span", {
9514
9595
  "class": vue.normalizeClass(_ctx.sortedIcon('asc', column) || _ctx.sortedIcon('desc', column) ? 'text-primary' : '')
9515
- }, vue.toDisplayString(column), 3), _ctx.isColumnSortable(column) ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$8, [!_ctx.sortedIcon('asc', column) && !_ctx.sortedIcon('desc', column) ? (vue.openBlock(), vue.createBlock(_component_ArrowSortSvg, {
9596
+ }, vue.toDisplayString(column), 3), _ctx.isColumnSortable(column) ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_6$6, [!_ctx.sortedIcon('asc', column) && !_ctx.sortedIcon('desc', column) ? (vue.openBlock(), vue.createBlock(_component_ArrowSortSvg, {
9516
9597
  key: 0,
9517
9598
  "class": "inline-block w-full text-grey-base"
9518
9599
  })) : vue.createCommentVNode("", true), _ctx.sortedIcon('asc', column) ? (vue.openBlock(), vue.createBlock(_component_ArrowDownSvg, {
@@ -9521,10 +9602,10 @@ function render$f(_ctx, _cache, $props, $setup, $data, $options) {
9521
9602
  })) : vue.createCommentVNode("", true), _ctx.sortedIcon('desc', column) ? (vue.openBlock(), vue.createBlock(_component_ArrowDownSvg, {
9522
9603
  key: 2,
9523
9604
  "class": "inline-block w-4 text-primary"
9524
- })) : vue.createCommentVNode("", true)])) : vue.createCommentVNode("", true)])], 42, _hoisted_3$j)) : vue.createCommentVNode("", true)], 64);
9605
+ })) : vue.createCommentVNode("", true)])) : vue.createCommentVNode("", true)])], 42, _hoisted_4$a)) : vue.createCommentVNode("", true)], 64);
9525
9606
  }), 128)), _ctx.$slots.head ? vue.renderSlot(_ctx.$slots, "head", {
9526
9607
  key: 1
9527
- }) : vue.createCommentVNode("", true)])]), vue.createElementVNode("tbody", _hoisted_6$6, [_ctx.loading ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, {
9608
+ }) : vue.createCommentVNode("", true)])]), vue.createElementVNode("tbody", _hoisted_7$5, [_ctx.loading ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, {
9528
9609
  key: 0
9529
9610
  }, vue.renderList(_ctx.sortedData, function (row, trKey) {
9530
9611
  return vue.openBlock(), vue.createElementBlock("tr", {
@@ -9532,10 +9613,10 @@ function render$f(_ctx, _cache, $props, $setup, $data, $options) {
9532
9613
  }, [(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.columns, function (column, colKey) {
9533
9614
  return vue.openBlock(), vue.createElementBlock(vue.Fragment, {
9534
9615
  key: colKey
9535
- }, [!_ctx.isDisabled(column) ? (vue.openBlock(), vue.createElementBlock("td", _hoisted_7$5, [vue.createVNode(_component_FwLoadingBar, {
9616
+ }, [!_ctx.isDisabled(column) ? (vue.openBlock(), vue.createElementBlock("td", _hoisted_8$4, [vue.createVNode(_component_FwLoadingBar, {
9536
9617
  "class": "w-full h-7"
9537
9618
  })])) : vue.createCommentVNode("", true)], 64);
9538
- }), 128)), _ctx.$slots.row ? (vue.openBlock(), vue.createElementBlock("td", _hoisted_8$4, [vue.createVNode(_component_FwLoadingBar, {
9619
+ }), 128)), _ctx.$slots.row ? (vue.openBlock(), vue.createElementBlock("td", _hoisted_9$3, [vue.createVNode(_component_FwLoadingBar, {
9539
9620
  "class": "w-full h-7"
9540
9621
  })])) : vue.createCommentVNode("", true)]);
9541
9622
  }), 128)) : (vue.openBlock(true), vue.createElementBlock(vue.Fragment, {
@@ -9561,16 +9642,75 @@ function render$f(_ctx, _cache, $props, $setup, $data, $options) {
9561
9642
  key: 0,
9562
9643
  "class": "py-2 pl-5 pr-3 text-left",
9563
9644
  innerHTML: _ctx.formattedText(row, column)
9564
- }, null, 8, _hoisted_10$1)) : vue.createCommentVNode("", true)], 64);
9645
+ }, null, 8, _hoisted_11$1)) : vue.createCommentVNode("", true)], 64);
9565
9646
  }), 128)), _ctx.$slots.row ? vue.renderSlot(_ctx.$slots, "row", {
9566
9647
  key: 1,
9567
9648
  row: row
9568
- }) : vue.createCommentVNode("", true)], 42, _hoisted_9$3);
9569
- }), 128))])], 10, _hoisted_1$p);
9570
- }var css_248z$a = ".fw-table-head--sortable[data-v-46577d1a]:hover{background-color:var(--d606643a)}.fw-table-row[data-v-46577d1a]:hover{background-color:var(--d606643a)}";
9571
- var stylesheet$a = ".fw-table-head--sortable[data-v-46577d1a]:hover{background-color:var(--d606643a)}.fw-table-row[data-v-46577d1a]:hover{background-color:var(--d606643a)}";
9649
+ }) : vue.createCommentVNode("", true)], 42, _hoisted_10$1);
9650
+ }), 128))])], 10, _hoisted_2$n), _ctx.enablePagination || (_ctx$options = _ctx.options) !== null && _ctx$options !== void 0 && _ctx$options.enablePagination ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_12$1, [vue.createVNode(_component_FwButton, {
9651
+ variant: 'tertiary',
9652
+ disabled: _ctx.currentPage === '1',
9653
+ size: "sm",
9654
+ "class": "border-grey-40",
9655
+ onClick: _cache[0] || (_cache[0] = function ($event) {
9656
+ return _ctx.pageArrowClick(false);
9657
+ })
9658
+ }, {
9659
+ "default": vue.withCtx(function () {
9660
+ return [vue.createVNode(_component_ChevronLeftSvg, {
9661
+ "class": "h-4 w-4 text-red-500",
9662
+ "stroke-width": "3"
9663
+ })];
9664
+ }),
9665
+ _: 1
9666
+ }, 8, ["disabled"]), (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.pages, function (page) {
9667
+ return vue.openBlock(), vue.createBlock(_component_FwButton, {
9668
+ rounded: "",
9669
+ size: "sm",
9670
+ key: page.pageNumber,
9671
+ variant: page.selected ? 'tertiary' : 'secondary',
9672
+ "class": vue.normalizeClass({
9673
+ 'border-none': !page.selected,
9674
+ 'bg-transparent': true
9675
+ }),
9676
+ onClick: function onClick($event) {
9677
+ return _ctx.pageNumberClick(page.pageNumber);
9678
+ }
9679
+ }, {
9680
+ "default": vue.withCtx(function () {
9681
+ return [vue.createElementVNode("div", _hoisted_13$1, [vue.createElementVNode("strong", null, vue.toDisplayString(page.pageNumber), 1)])];
9682
+ }),
9683
+ _: 2
9684
+ }, 1032, ["variant", "class", "onClick"]);
9685
+ }), 128)), vue.createVNode(_component_FwButton, {
9686
+ variant: 'tertiary',
9687
+ disabled: _ctx.totalAmount && Number(_ctx.currentPage) === _ctx.totalAmount,
9688
+ size: "sm",
9689
+ "class": "border-grey-40",
9690
+ onClick: _cache[1] || (_cache[1] = function ($event) {
9691
+ return _ctx.pageArrowClick(true);
9692
+ })
9693
+ }, {
9694
+ "default": vue.withCtx(function () {
9695
+ return [vue.createVNode(_component_ChevronRightSvg, {
9696
+ "class": "h-4 w-4"
9697
+ })];
9698
+ }),
9699
+ _: 1
9700
+ }, 8, ["disabled"]), _hoisted_14$1, vue.createVNode(_component_FwInput, {
9701
+ "center-align-input": "",
9702
+ "class": "max-w-[66px] p-0 text-center",
9703
+ name: "page",
9704
+ modelValue: _ctx.currentPage,
9705
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = function ($event) {
9706
+ return _ctx.currentPage = $event;
9707
+ }),
9708
+ type: "tel"
9709
+ }, null, 8, ["modelValue"])])) : vue.createCommentVNode("", true)]);
9710
+ }var css_248z$a = ".fw-table-head--sortable[data-v-84c515f0]:hover{background-color:var(--c795d904)}.fw-table-row[data-v-84c515f0]:hover{background-color:var(--c795d904)}";
9711
+ var stylesheet$a = ".fw-table-head--sortable[data-v-84c515f0]:hover{background-color:var(--c795d904)}.fw-table-row[data-v-84c515f0]:hover{background-color:var(--c795d904)}";
9572
9712
  styleInject(css_248z$a);__default__$6.render = render$f;
9573
- __default__$6.__scopeId = "data-v-46577d1a";var script$9 = vue.defineComponent({
9713
+ __default__$6.__scopeId = "data-v-84c515f0";var script$9 = vue.defineComponent({
9574
9714
  name: 'FwTableHead'
9575
9715
  });var _hoisted_1$o = {
9576
9716
  "class": "py-6 px-5 text-left font-medium"
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, ref, watch, useCssVars, pushScopeId, popScopeId, resolveComponent, openBlock, createElementBlock, normalizeClass, createElementVNode, createBlock, createCommentVNode, toDisplayString, renderSlot, createVNode, Transition, withCtx, withDirectives, vShow } from 'vue';
2
2
  import { u as useColours } from './get-root-colours-DYEoJPEb.js';
3
- import { r as render$1 } from './index-B-9TSbb0.js';
3
+ import { r as render$1 } from './index-svDiDkSU.js';
4
4
  import { s as styleInject } from './style-inject.es-tgCJW-Cu.js';
5
5
  import './check--YD4Ts6g.js';
6
6
 
@@ -1,7 +1,7 @@
1
1
  import { defineComponent, useCssVars, pushScopeId, popScopeId, createElementVNode, openBlock, createElementBlock, createStaticVNode } from 'vue';
2
2
  import { s as styleInject } from './style-inject.es-tgCJW-Cu.js';
3
- export { s as FwLoadingSpinner } from './fw-loading-spinner-AsWqai_A.js';
4
- import './index-B-9TSbb0.js';
3
+ export { s as FwLoadingSpinner } from './fw-loading-spinner-BEzZf1xe.js';
4
+ import './index-svDiDkSU.js';
5
5
  import './check--YD4Ts6g.js';
6
6
 
7
7
  var __default__$1 = defineComponent({
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, ref, computed, resolveComponent, openBlock, createBlock, resolveDynamicComponent, normalizeClass, withCtx, createElementBlock, createElementVNode, Fragment, createTextVNode, toDisplayString, renderSlot, createCommentVNode, createVNode } from 'vue';
2
- import { s as script$1 } from './fw-loading-spinner-AsWqai_A.js';
2
+ import { s as script$1 } from './fw-loading-spinner-BEzZf1xe.js';
3
3
  import { s as styleInject } from './style-inject.es-tgCJW-Cu.js';
4
4
 
5
5
  var script = defineComponent({
package/esm/fw-button.js CHANGED
@@ -1,6 +1,6 @@
1
- export { s as FwButton } from './fw-button-D8GUq_wg.js';
1
+ export { s as FwButton } from './fw-button-DdxvSBFa.js';
2
2
  import 'vue';
3
- import './fw-loading-spinner-AsWqai_A.js';
4
- import './index-B-9TSbb0.js';
3
+ import './fw-loading-spinner-BEzZf1xe.js';
4
+ import './index-svDiDkSU.js';
5
5
  import './check--YD4Ts6g.js';
6
6
  import './style-inject.es-tgCJW-Cu.js';
@@ -1,5 +1,5 @@
1
1
  import { reactive, computed, ref, watch, onUnmounted, provide, inject, onMounted, watchEffect, defineComponent, nextTick, toRefs, openBlock, createElementBlock, normalizeClass, createVNode, Transition, withCtx, mergeProps, renderSlot, createTextVNode, toDisplayString, createElementVNode, createCommentVNode, unref, createBlock, resolveDynamicComponent, normalizeProps, Fragment, renderList, normalizeStyle, withKeys, withDirectives, toRef, resolveComponent, resolveDirective, toHandlers, withModifiers, isRef, guardReactiveProps, useCssVars } from 'vue';
2
- import { a as render$1 } from './index-B-9TSbb0.js';
2
+ import { a as render$1 } from './index-svDiDkSU.js';
3
3
  import { u as uniqueId } from './uniqueId-DK6xzFd8.js';
4
4
  import { c as createPopper } from './index-BVcOAKar.js';
5
5
  import { s as styleInject } from './style-inject.es-tgCJW-Cu.js';
package/esm/fw-drawer.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import { defineComponent, ref, computed, onMounted, resolveComponent, openBlock, createBlock, Transition, withCtx, withDirectives, createElementVNode, normalizeClass, createElementBlock, renderSlot, createCommentVNode, createVNode, createTextVNode, toDisplayString, vShow } from 'vue';
2
- import { s as script$1 } from './fw-button-D8GUq_wg.js';
2
+ import { s as script$1 } from './fw-button-DdxvSBFa.js';
3
3
  import { u as uniqueId } from './uniqueId-DK6xzFd8.js';
4
- import { b as render$1 } from './index-B-9TSbb0.js';
4
+ import { b as render$1 } from './index-svDiDkSU.js';
5
5
  import { s as styleInject } from './style-inject.es-tgCJW-Cu.js';
6
- import './fw-loading-spinner-AsWqai_A.js';
6
+ import './fw-loading-spinner-BEzZf1xe.js';
7
7
  import './check--YD4Ts6g.js';
8
8
 
9
9
  var script = defineComponent({
@@ -1,7 +1,7 @@
1
1
  import { defineComponent, toRef, ref, computed, watch, onMounted, onBeforeUnmount, pushScopeId, popScopeId, resolveComponent, openBlock, createElementBlock, createTextVNode, toDisplayString, createCommentVNode, createElementVNode, normalizeClass, createBlock, renderSlot, createVNode, Transition, withCtx, withDirectives, Fragment, renderList, vShow } from 'vue';
2
2
  import { u as useField } from './vee-validate.esm-3ptvCDR1.js';
3
- import { r as render$1 } from './index-B-9TSbb0.js';
4
- import { s as script$1 } from './fw-image-DAUZLkf4.js';
3
+ import { r as render$1 } from './index-svDiDkSU.js';
4
+ import { s as script$1 } from './fw-image-DedhILQL.js';
5
5
  import { s as styleInject } from './style-inject.es-tgCJW-Cu.js';
6
6
 
7
7
  var script = defineComponent({
@@ -1,8 +1,8 @@
1
- export { s as FwDropdown } from './fw-dropdown-YXj5yyty.js';
1
+ export { s as FwDropdown } from './fw-dropdown-BcnKbaW1.js';
2
2
  import 'vue';
3
3
  import './vee-validate.esm-3ptvCDR1.js';
4
- import './index-B-9TSbb0.js';
4
+ import './index-svDiDkSU.js';
5
5
  import './check--YD4Ts6g.js';
6
- import './fw-image-DAUZLkf4.js';
6
+ import './fw-image-DedhILQL.js';
7
7
  import './fw-loading-bar-DThRjdw1.js';
8
8
  import './style-inject.es-tgCJW-Cu.js';
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, computed, ref, resolveComponent, resolveDirective, withDirectives, openBlock, createElementBlock, normalizeClass, withKeys, createElementVNode, createVNode, createBlock, createCommentVNode, renderSlot } from 'vue';
2
2
  import { s as script$1 } from './fw-loading-bar-DThRjdw1.js';
3
- import { k as render$1 } from './index-B-9TSbb0.js';
3
+ import { l as render$1 } from './index-svDiDkSU.js';
4
4
  import { s as styleInject } from './style-inject.es-tgCJW-Cu.js';
5
5
 
6
6
  var handleIntersect = function handleIntersect(entries, observer) {
package/esm/fw-image.js CHANGED
@@ -1,6 +1,6 @@
1
- export { s as FwImage } from './fw-image-DAUZLkf4.js';
1
+ export { s as FwImage } from './fw-image-DedhILQL.js';
2
2
  import 'vue';
3
3
  import './fw-loading-bar-DThRjdw1.js';
4
4
  import './style-inject.es-tgCJW-Cu.js';
5
- import './index-B-9TSbb0.js';
5
+ import './index-svDiDkSU.js';
6
6
  import './check--YD4Ts6g.js';
@@ -108,6 +108,10 @@ var script = defineComponent({
108
108
  required: {
109
109
  type: Boolean,
110
110
  "default": false
111
+ },
112
+ centerAlignInput: {
113
+ type: Boolean,
114
+ "default": false
111
115
  }
112
116
  },
113
117
  setup: function setup(props, ctx) {
@@ -202,7 +206,9 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
202
206
  "class": ["border-blue-500", [{
203
207
  'pl-10': !!_ctx.$slots.prefix,
204
208
  'pr-20': !!_ctx.$slots.suffix
205
- }, (errorMessage || errors[0]) && meta.touched ? 'border-error text-error' : 'border-grey-40', _ctx.inputBaseClass, _ctx.rounded ? 'rounded-full' : 'rounded']]
209
+ }, (errorMessage || errors[0]) && meta.touched ? 'border-error text-error' : 'border-grey-40', _ctx.inputBaseClass, _ctx.rounded ? 'rounded-full' : 'rounded', {
210
+ 'text-center': _ctx.centerAlignInput
211
+ }]]
206
212
  }), null, 16, _hoisted_8), _ctx.$slots.suffix ? (openBlock(), createElementBlock("div", _hoisted_9, [renderSlot(_ctx.$slots, "suffix", {
207
213
  "class": "h-full"
208
214
  })])) : createCommentVNode("", true)]), _ctx.enableErrors ? (openBlock(), createElementBlock("div", _hoisted_10, [createVNode(Transition, {
package/esm/fw-input.js CHANGED
@@ -1,4 +1,4 @@
1
- export { s as FwInput } from './fw-input-CPU_C8IU.js';
1
+ export { s as FwInput } from './fw-input-BPFFMpc2.js';
2
2
  import 'vue';
3
3
  import './vee-validate.esm-3ptvCDR1.js';
4
4
  import './uniqueId-DK6xzFd8.js';
@@ -1,4 +1,4 @@
1
- import { i as render$1 } from './index-B-9TSbb0.js';
1
+ import { j as render$1 } from './index-svDiDkSU.js';
2
2
  import { defineComponent, resolveComponent, openBlock, createBlock } from 'vue';
3
3
 
4
4
  var script = defineComponent({
package/esm/fw-modal.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import { defineComponent, ref, computed, onMounted, resolveComponent, openBlock, createBlock, Teleport, createVNode, Transition, withCtx, withDirectives, createElementVNode, normalizeClass, createCommentVNode, createElementBlock, renderSlot, createTextVNode, toDisplayString, vShow } from 'vue';
2
- import { s as script$1 } from './fw-button-D8GUq_wg.js';
2
+ import { s as script$1 } from './fw-button-DdxvSBFa.js';
3
3
  import { u as uniqueId } from './uniqueId-DK6xzFd8.js';
4
- import { b as render$1 } from './index-B-9TSbb0.js';
4
+ import { b as render$1 } from './index-svDiDkSU.js';
5
5
  import { s as styleInject } from './style-inject.es-tgCJW-Cu.js';
6
- import './fw-loading-spinner-AsWqai_A.js';
6
+ import './fw-loading-spinner-BEzZf1xe.js';
7
7
  import './check--YD4Ts6g.js';
8
8
 
9
9
  var script = defineComponent({
@@ -1,8 +1,8 @@
1
1
  import { defineComponent, ref, createElementVNode, resolveComponent, openBlock, createElementBlock, normalizeClass, renderSlot, createCommentVNode, Fragment, renderList, createBlock, withCtx, createTextVNode, toDisplayString, createVNode, Transition } from 'vue';
2
- import { s as script$1 } from './fw-button-D8GUq_wg.js';
2
+ import { s as script$1 } from './fw-button-DdxvSBFa.js';
3
3
  import { s as styleInject } from './style-inject.es-tgCJW-Cu.js';
4
- import './fw-loading-spinner-AsWqai_A.js';
5
- import './index-B-9TSbb0.js';
4
+ import './fw-loading-spinner-BEzZf1xe.js';
5
+ import './index-svDiDkSU.js';
6
6
  import './check--YD4Ts6g.js';
7
7
 
8
8
  var script = defineComponent({
@@ -1,19 +1,19 @@
1
1
  import { e as _defineProperty } from './_rollupPluginBabelHelpers-DpC_oIQV.js';
2
2
  import { defineComponent, ref, computed, createElementVNode, resolveComponent, openBlock, createElementBlock, toDisplayString, createVNode, withCtx, createBlock, createCommentVNode, createTextVNode } from 'vue';
3
- import { _ as __default__, s as script$4, a as script$5 } from './fw-table-row-7vke3KXB.js';
4
- import { s as script$1 } from './fw-input-CPU_C8IU.js';
5
- import { _ as __default__$1 } from './fw-tag-BVEv8PMh.js';
6
- import { s as script$3 } from './fw-button-D8GUq_wg.js';
7
- import { s as script$2 } from './fw-dropdown-YXj5yyty.js';
8
- import { c as render$1, d as render$2, e as render$3 } from './index-B-9TSbb0.js';
3
+ import { _ as __default__, s as script$4, a as script$5 } from './fw-table-row-DhDvTJHm.js';
4
+ import { s as script$1 } from './fw-input-BPFFMpc2.js';
5
+ import { _ as __default__$1 } from './fw-tag-508OLlZR.js';
6
+ import { s as script$3 } from './fw-button-DdxvSBFa.js';
7
+ import { s as script$2 } from './fw-dropdown-BcnKbaW1.js';
8
+ import { c as render$1, d as render$2, e as render$3 } from './index-svDiDkSU.js';
9
9
  import { s as styleInject } from './style-inject.es-tgCJW-Cu.js';
10
10
  import './get-root-colours-DYEoJPEb.js';
11
11
  import './fw-loading-bar-DThRjdw1.js';
12
12
  import './vee-validate.esm-3ptvCDR1.js';
13
13
  import './uniqueId-DK6xzFd8.js';
14
14
  import './fw-button.js';
15
- import './fw-loading-spinner-AsWqai_A.js';
16
- import './fw-image-DAUZLkf4.js';
15
+ import './fw-loading-spinner-BEzZf1xe.js';
16
+ import './fw-image-DedhILQL.js';
17
17
  import './check--YD4Ts6g.js';
18
18
 
19
19
  var script = defineComponent({
@@ -1,8 +1,8 @@
1
1
  import { defineComponent, computed, resolveComponent, openBlock, createElementBlock, normalizeClass, createVNode, withCtx, Transition, withDirectives, createElementVNode, renderSlot, createCommentVNode, Fragment, renderList, createBlock, createTextVNode, toDisplayString, vShow } from 'vue';
2
- import { s as script$1 } from './fw-button-D8GUq_wg.js';
3
- import { f as render$1 } from './index-B-9TSbb0.js';
2
+ import { s as script$1 } from './fw-button-DdxvSBFa.js';
3
+ import { f as render$1 } from './index-svDiDkSU.js';
4
4
  import { s as styleInject } from './style-inject.es-tgCJW-Cu.js';
5
- import './fw-loading-spinner-AsWqai_A.js';
5
+ import './fw-loading-spinner-BEzZf1xe.js';
6
6
  import './check--YD4Ts6g.js';
7
7
 
8
8
  var script = defineComponent({