bitboss-ui 1.0.40 → 1.0.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index103.js +3 -3
- package/dist/index103.js.map +1 -1
- package/dist/index111.js +1 -1
- package/dist/index113.js +4 -4
- package/dist/index115.js +1 -1
- package/dist/index119.js +1 -1
- package/dist/index12.js +3 -3
- package/dist/index120.js +1 -1
- package/dist/index121.js +1 -1
- package/dist/index127.js +1 -1
- package/dist/index128.js +1 -1
- package/dist/index129.js +1 -1
- package/dist/index133.js +2 -2
- package/dist/index16.js +8 -8
- package/dist/index18.js +12 -12
- package/dist/index199.js +3 -2
- package/dist/index199.js.map +1 -1
- package/dist/index20.js +4 -4
- package/dist/index200.js +35 -4
- package/dist/index200.js.map +1 -1
- package/dist/index201.js +6 -2
- package/dist/index201.js.map +1 -1
- package/dist/index202.js +7 -235
- package/dist/index202.js.map +1 -1
- package/dist/index203.js +2 -3
- package/dist/index203.js.map +1 -1
- package/dist/index204.js +2 -35
- package/dist/index204.js.map +1 -1
- package/dist/index205.js +2 -6
- package/dist/index205.js.map +1 -1
- package/dist/index206.js +3 -7
- package/dist/index206.js.map +1 -1
- package/dist/index207.js +3 -3
- package/dist/index207.js.map +1 -1
- package/dist/index208.js +235 -3
- package/dist/index208.js.map +1 -1
- package/dist/index209.js +112 -70
- package/dist/index209.js.map +1 -1
- package/dist/index210.js +134 -5
- package/dist/index210.js.map +1 -1
- package/dist/index211.js +5 -16
- package/dist/index211.js.map +1 -1
- package/dist/index212.js +18 -15
- package/dist/index212.js.map +1 -1
- package/dist/index213.js +2 -19
- package/dist/index213.js.map +1 -1
- package/dist/index214.js +172 -18
- package/dist/index214.js.map +1 -1
- package/dist/index215.js +7 -29
- package/dist/index215.js.map +1 -1
- package/dist/index216.js +368 -8
- package/dist/index216.js.map +1 -1
- package/dist/index217.js +373 -2
- package/dist/index217.js.map +1 -1
- package/dist/index218.js +2 -121
- package/dist/index218.js.map +1 -1
- package/dist/index219.js +4 -134
- package/dist/index219.js.map +1 -1
- package/dist/index22.js +2 -2
- package/dist/index220.js +16 -2
- package/dist/index220.js.map +1 -1
- package/dist/index221.js +14 -172
- package/dist/index221.js.map +1 -1
- package/dist/index222.js +20 -7
- package/dist/index222.js.map +1 -1
- package/dist/index223.js +27 -366
- package/dist/index223.js.map +1 -1
- package/dist/index224.js +8 -373
- package/dist/index224.js.map +1 -1
- package/dist/index226.js +79 -2
- package/dist/index226.js.map +1 -1
- package/dist/index228.js +9 -6
- package/dist/index228.js.map +1 -1
- package/dist/index229.js +23 -17
- package/dist/index229.js.map +1 -1
- package/dist/index230.js +6 -79
- package/dist/index230.js.map +1 -1
- package/dist/index231.js +16 -8
- package/dist/index231.js.map +1 -1
- package/dist/index232.js +79 -23
- package/dist/index232.js.map +1 -1
- package/dist/index233.js +433 -67
- package/dist/index233.js.map +1 -1
- package/dist/index234.js +89 -2
- package/dist/index234.js.map +1 -1
- package/dist/index235.js +224 -5
- package/dist/index235.js.map +1 -1
- package/dist/index236.js +258 -4
- package/dist/index236.js.map +1 -1
- package/dist/index237.js +200 -224
- package/dist/index237.js.map +1 -1
- package/dist/index238.js +5 -257
- package/dist/index238.js.map +1 -1
- package/dist/index239.js +2 -435
- package/dist/index239.js.map +1 -1
- package/dist/index240.js +294 -88
- package/dist/index240.js.map +1 -1
- package/dist/index241.js +2 -200
- package/dist/index241.js.map +1 -1
- package/dist/index242.js +2 -2
- package/dist/index243.js +105 -294
- package/dist/index243.js.map +1 -1
- package/dist/index244.js +116 -5
- package/dist/index244.js.map +1 -1
- package/dist/index245.js +4 -2
- package/dist/index245.js.map +1 -1
- package/dist/index246.js +2 -2
- package/dist/index246.js.map +1 -1
- package/dist/index251.js +5 -2
- package/dist/index251.js.map +1 -1
- package/dist/index252.js +68 -105
- package/dist/index252.js.map +1 -1
- package/dist/index253.js +2 -117
- package/dist/index253.js.map +1 -1
- package/dist/index254.js +4 -15
- package/dist/index254.js.map +1 -1
- package/dist/index255.js +4 -4
- package/dist/index255.js.map +1 -1
- package/dist/index256.js +61 -4
- package/dist/index256.js.map +1 -1
- package/dist/index257.js +14 -60
- package/dist/index257.js.map +1 -1
- package/dist/index258.js +1 -1
- package/dist/index26.js +2 -2
- package/dist/index30.js +3 -3
- package/dist/index32.js +8 -8
- package/dist/index34.js +2 -2
- package/dist/index36.js +2 -2
- package/dist/index50.js +1 -1
- package/dist/index52.js +1 -1
- package/dist/index68.js +5 -5
- package/dist/index72.js +2 -2
- package/dist/index74.js +1 -1
- package/dist/index77.js +2 -2
- package/dist/index79.js +1 -1
- package/dist/index81.js +4 -4
- package/dist/style.css +1 -1
- package/package.json +2 -2
package/dist/index103.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { defineComponent as ie, ref as q, computed as p, onMounted as de, watch as J, openBlock as n, createBlock as be, resolveDynamicComponent as re, normalizeClass as f, withCtx as ue, createElementBlock as d, toDisplayString as m, createCommentVNode as v, createElementVNode as o, renderSlot as y, unref as C, createVNode as j, Fragment as N, renderList as S, createTextVNode as pe, mergeProps as fe } from "vue";
|
|
2
|
-
import { add as me } from "./
|
|
2
|
+
import { add as me } from "./index246.js";
|
|
3
3
|
import { clamp as ye } from "./index198.js";
|
|
4
4
|
import { deepEqual as K } from "./index125.js";
|
|
5
5
|
import { isNil as x } from "./index122.js";
|
|
6
6
|
import { isNotNil as he } from "./index126.js";
|
|
7
7
|
import { useId as _e } from "./index8.js";
|
|
8
8
|
import { useItemValue as ke } from "./index128.js";
|
|
9
|
-
import { when as ge } from "./
|
|
9
|
+
import { when as ge } from "./index219.js";
|
|
10
10
|
import Q from "./index12.js";
|
|
11
11
|
import "./index13.js";
|
|
12
12
|
import ve from "./index26.js";
|
|
@@ -180,7 +180,7 @@ const Ce = { key: 0 }, we = { class: "bb-table-header-row" }, Ve = { class: "bb-
|
|
|
180
180
|
let a = e, l = [];
|
|
181
181
|
a && (l = w.value.reduce((c, h) => (h.selectable && c.push(h.value), c), [])), r("update:modelValue", l), r("update:selectAll", e);
|
|
182
182
|
}, W = p(
|
|
183
|
-
() => !!(w.value.length && w.value.
|
|
183
|
+
() => !!(w.value.length && w.value.filter((e) => e.selectable).every((e) => e.selected))
|
|
184
184
|
), se = p(
|
|
185
185
|
() => {
|
|
186
186
|
var e;
|
package/dist/index103.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index103.js","sources":["../src/components/BbTable/BbTable.vue"],"sourcesContent":["<template>\n\t<component\n\t\t:is=\"containerTag\"\n\t\tref=\"container\"\n\t\t:class=\"{\n\t\t\t'bb-table': true,\n\t\t\t[`bb-table--align-${align}`]: true,\n\t\t\t'bb-table--compact': compact,\n\t\t\t'bb-table--fixed': fixed,\n\t\t\t'bb-table--fixed-header': fixedHeaders,\n\t\t\t'bb-table--loading': loading,\n\t\t\t'bb-table--empty': !internalItems.length,\n\t\t\t'bb-table--selectable': selectable,\n\t\t}\"\n\t>\n\t\t<legend v-if=\"selectable\">{{ legend }}</legend>\n\t\t<table>\n\t\t\t<caption\n\t\t\t\tv-if=\"caption\"\n\t\t\t\t:class=\"{\n\t\t\t\t\t'bb-table-caption': true,\n\t\t\t\t\t'bb-table-caption--hidden': !displayCaption,\n\t\t\t\t}\"\n\t\t\t>\n\t\t\t\t{{\n\t\t\t\t\tcaption\n\t\t\t\t}}\n\t\t\t</caption>\n\t\t\t<thead>\n\t\t\t\t<slot name=\"thead\">\n\t\t\t\t\t<tr class=\"bb-table-header-row\">\n\t\t\t\t\t\t<th\n\t\t\t\t\t\t\tv-if=\"selectable\"\n\t\t\t\t\t\t\tclass=\"bb-table-header bb-table-header--select\"\n\t\t\t\t\t\t\t:class=\"thClass\"\n\t\t\t\t\t\t\tscope=\"col\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\t\t:multiple=\"multiple\"\n\t\t\t\t\t\t\t\t:name=\"'header:select'\"\n\t\t\t\t\t\t\t\t:select-all=\"!!selectAll\"\n\t\t\t\t\t\t\t\t:text=\"selectText\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<span class=\"bb-table-header__content\">\n\t\t\t\t\t\t\t\t\t<label\n\t\t\t\t\t\t\t\t\t\tv-if=\"allowSelectAll && multiple\"\n\t\t\t\t\t\t\t\t\t\tclass=\"bb-table-check__label\"\n\t\t\t\t\t\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t\t\t\t\t\t'bb-table-check__label--disabled': disabled,\n\t\t\t\t\t\t\t\t\t\t}\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<BaseCheckbox\n\t\t\t\t\t\t\t\t\t\t\tclass=\"bb-table-check\"\n\t\t\t\t\t\t\t\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t\t\t\t\t\t\t\t:indeterminate=\"indeterminate\"\n\t\t\t\t\t\t\t\t\t\t\t:model-value=\"allSelected\"\n\t\t\t\t\t\t\t\t\t\t\t:name=\"`select_all_${name || ''}`\"\n\t\t\t\t\t\t\t\t\t\t\t:readonly=\"readonly\"\n\t\t\t\t\t\t\t\t\t\t\t@update:model-value=\"onChangeSelectAll\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<span class=\"bb-table-check__label-text\"\n\t\t\t\t\t\t\t\t\t\t\t>{{ selectAllLabel }}\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\tv-else-if=\"!multiple\"\n\t\t\t\t\t\t\t\t\t\tclass=\"bb-table-radio__label-text\"\n\t\t\t\t\t\t\t\t\t\t>{{ selectText }}</span\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</slot>\n\t\t\t\t\t\t</th>\n\t\t\t\t\t\t<th\n\t\t\t\t\t\t\tv-for=\"header in mappedHeaders\"\n\t\t\t\t\t\t\t:key=\"header.key\"\n\t\t\t\t\t\t\tclass=\"bb-table-header\"\n\t\t\t\t\t\t\t:class=\"header.classes\"\n\t\t\t\t\t\t\tscope=\"col\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\t\t:classes=\"header.classes\"\n\t\t\t\t\t\t\t\t:item=\"undefined as unknown\"\n\t\t\t\t\t\t\t\t:items=\"internalItems\"\n\t\t\t\t\t\t\t\t:label=\"header.label\"\n\t\t\t\t\t\t\t\t:name=\"header.slotName\"\n\t\t\t\t\t\t\t\t><span class=\"bb-table-header__content\">{{\n\t\t\t\t\t\t\t\t\theader.label\n\t\t\t\t\t\t\t\t}}</span></slot\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t</th>\n\t\t\t\t\t\t<th\n\t\t\t\t\t\t\tv-if=\"actions\"\n\t\t\t\t\t\t\tclass=\"bb-table-header bb-table-header--actions\"\n\t\t\t\t\t\t\t:class=\"thClass\"\n\t\t\t\t\t\t\tscope=\"col\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<slot name=\"header:actions\" :text=\"actionsText\">\n\t\t\t\t\t\t\t\t<span class=\"bb-table-header__content\">\n\t\t\t\t\t\t\t\t\t{{ actionsText }}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</slot>\n\t\t\t\t\t\t</th>\n\t\t\t\t\t</tr>\n\t\t\t\t</slot>\n\t\t\t</thead>\n\t\t\t<tbody>\n\t\t\t\t<slot v-if=\"loading\" :items=\"internalItems\" name=\"loading\">\n\t\t\t\t\t<tr class=\"bb-table-loading__row\">\n\t\t\t\t\t\t<td\n\t\t\t\t\t\t\tclass=\"bb-table-loading__cell\"\n\t\t\t\t\t\t\t:colspan=\"replacementContentSpan\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span class=\"bb-table-loading__text\">{{ loadingText }}</span>\n\n\t\t\t\t\t\t\t<div class=\"bb-table-skeleton__container\" role=\"status\">\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tv-for=\"item in skeletonLength\"\n\t\t\t\t\t\t\t\t\t:key=\"item\"\n\t\t\t\t\t\t\t\t\tclass=\"bb-table-skeleton-item\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div class=\"bb-table-skeleton-item__avatar-container\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"bb-table-skeleton-item__avatar\"></div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div class=\"bb-table-skeleton-item__text\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"bb-table-skeleton-item__line\"></div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"bb-table-skeleton-item__line\"></div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t</tr>\n\t\t\t\t</slot>\n\t\t\t\t<slot v-else-if=\"!internalItems.length\" :name=\"'no-data'\">\n\t\t\t\t\t<tr class=\"bb-table-no-data__row\">\n\t\t\t\t\t\t<td\n\t\t\t\t\t\t\tclass=\"bb-table-no-data__cell\"\n\t\t\t\t\t\t\t:colspan=\"replacementContentSpan\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span class=\"bb-table-no-data__text\">{{ noDataText }}</span>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t</tr>\n\t\t\t\t</slot>\n\t\t\t\t<slot v-else name=\"tbody\">\n\t\t\t\t\t<tr\n\t\t\t\t\t\tv-for=\"item in mappedItems\"\n\t\t\t\t\t\t:key=\"item.jsonValue\"\n\t\t\t\t\t\tclass=\"bb-table-data__row\"\n\t\t\t\t\t\t@click=\"item.onRowClick\"\n\t\t\t\t\t\t@contextmenu=\"item.onRowContextMenu\"\n\t\t\t\t\t\t@dblclick=\"item.onRowDblClick\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<td\n\t\t\t\t\t\t\tv-if=\"selectable\"\n\t\t\t\t\t\t\tclass=\"bb-table-data__cell bb-table-data__cell--select\"\n\t\t\t\t\t\t\t:class=\"tdClass\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\t\t:checked=\"item.selected\"\n\t\t\t\t\t\t\t\t:disabled=\"!item.selectable\"\n\t\t\t\t\t\t\t\t:input-name=\"randomName\"\n\t\t\t\t\t\t\t\t:item=\"item.original\"\n\t\t\t\t\t\t\t\t:name=\"'select'\"\n\t\t\t\t\t\t\t\t:readonly=\"!!readonly\"\n\t\t\t\t\t\t\t\t:value=\"item.value\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<!-- We use temp names for these inputs because we don't submit them -->\n\t\t\t\t\t\t\t\t<label\n\t\t\t\t\t\t\t\t\tv-if=\"multiple\"\n\t\t\t\t\t\t\t\t\tclass=\"bb-table-check__label\"\n\t\t\t\t\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t\t\t\t\t'bb-table-check__label--disabled': !item.selectable,\n\t\t\t\t\t\t\t\t\t}\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<BaseCheckbox\n\t\t\t\t\t\t\t\t\t\t:checked=\"item.selected || allSelected\"\n\t\t\t\t\t\t\t\t\t\tclass=\"bb-table-check\"\n\t\t\t\t\t\t\t\t\t\t:disabled=\"!item.selectable\"\n\t\t\t\t\t\t\t\t\t\t:name=\"randomName\"\n\t\t\t\t\t\t\t\t\t\t:readonly=\"readonly\"\n\t\t\t\t\t\t\t\t\t\t@change=\"() => onInputChange(item)\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<span class=\"bb-table-check__label-text\">{{\n\t\t\t\t\t\t\t\t\t\titem.accessibleLabel\n\t\t\t\t\t\t\t\t\t}}</span>\n\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t<label\n\t\t\t\t\t\t\t\t\tv-else\n\t\t\t\t\t\t\t\t\tclass=\"bb-table-radio__label\"\n\t\t\t\t\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t\t\t\t\t'bb-table-radio__label--disabled': !item.selectable,\n\t\t\t\t\t\t\t\t\t}\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<BaseRadio\n\t\t\t\t\t\t\t\t\t\t:checked=\"item.selected\"\n\t\t\t\t\t\t\t\t\t\tclass=\"bb-table-radio\"\n\t\t\t\t\t\t\t\t\t\t:disabled=\"!item.selectable\"\n\t\t\t\t\t\t\t\t\t\t:name=\"randomName\"\n\t\t\t\t\t\t\t\t\t\t:readonly=\"readonly\"\n\t\t\t\t\t\t\t\t\t\t:value=\"item.value\"\n\t\t\t\t\t\t\t\t\t\t@change=\"() => onInputChange(item)\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<span class=\"bb-table-radio__label-text\">{{\n\t\t\t\t\t\t\t\t\t\titem.accessibleLabel\n\t\t\t\t\t\t\t\t\t}}</span>\n\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t</slot>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t\t<td\n\t\t\t\t\t\t\tv-for=\"col in item.cols\"\n\t\t\t\t\t\t\t:key=\"col.key\"\n\t\t\t\t\t\t\tclass=\"bb-table-data__cell\"\n\t\t\t\t\t\t\t:class=\"col.classes\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\t\t:classes=\"col.classes\"\n\t\t\t\t\t\t\t\t:content=\"col.content\"\n\t\t\t\t\t\t\t\t:item=\"item.original\"\n\t\t\t\t\t\t\t\t:name=\"col.slotName\"\n\t\t\t\t\t\t\t\t:value=\"item.value\"\n\t\t\t\t\t\t\t\t>{{ col.content }}</slot\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t\t<td\n\t\t\t\t\t\t\tv-if=\"actions\"\n\t\t\t\t\t\t\tclass=\"bb-table__cell bb-table__cell--actions\"\n\t\t\t\t\t\t\t:class=\"tdClass\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\t\t:item=\"item.original\"\n\t\t\t\t\t\t\t\t:name=\"'actions'\"\n\t\t\t\t\t\t\t\t:value=\"item.value\"\n\t\t\t\t\t\t\t></slot>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t</tr>\n\t\t\t\t</slot>\n\t\t\t</tbody>\n\t\t\t<tfoot>\n\t\t\t\t<slot name=\"tfoot\"></slot>\n\t\t\t</tfoot>\n\t\t</table>\n\t\t<input v-for=\"input in hiddenInputs\" :key=\"input.value\" v-bind=\"input\" />\n\t</component>\n</template>\n\n<script setup lang=\"ts\">\nimport { add } from '@/utilities/functions/add';\nimport { clamp } from '@/utilities/functions/clamp';\nimport { deepEqual } from 'fast-equals';\nimport { isNil } from '@/utilities/functions/isNil';\nimport { isNotNil } from '@/utilities/functions/isNotNil';\nimport { computed, onMounted, ref, watch } from 'vue';\nimport { useId } from '@/composables/useId';\nimport { useItemValue } from '@/composables/useItemValue';\nimport { when } from '@/utilities/functions/when';\nimport BaseCheckbox from '../BaseCheckbox/BaseCheckbox.vue';\nimport BaseRadio from '../BaseRadio/BaseRadio.vue';\nimport type {\n\tBbTableProps,\n\tMappedCell,\n\tMappedHeader,\n\tMappedItem,\n\tBbTableColumn,\n\tBbTableEvents,\n\tBbTableSlots,\n} from './types';\nimport type { Classes } from '@/types/Classes';\n\nconst { getItemValue } = useItemValue();\n\n/**\n * We do not allow the use of the checkbox or radio themselves as\n * they would not be submitted if the user has changed\n * page in the meantime, rather we provide a temporary\n * name so radio still work but we later add hidden inputs for submission\n */\nconst randomName = useId().id.value;\n\nconst props = withDefaults(defineProps<BbTableProps>(), {\n\talign: 'left',\n\taccessibleLabel: (columns: MappedCell[]) =>\n\t\t['Seleziona'].concat(columns.map((col) => col.content)).join(' '),\n\tactionsText: 'Azioni',\n\tallowSelectAll: true,\n\tcolumns: () => [],\n\tdependencies: () => [],\n\tdepsDebounceTime: 0,\n\tfixedColumns: () => [],\n\titems: () => [],\n\tloadingText: 'Caricamento',\n\tmatchStrategy: 'string',\n\tmultiple: true,\n\tnoDataText: 'Non ci sono elementi da visualizzare',\n\tselectAllLabel: 'Seleziona tutti gli elementi di questa pagina',\n\tselectText: 'Seleziona un elemento',\n});\n\nconst emit = defineEmits<BbTableEvents>();\n\ndefineSlots<BbTableSlots>();\n\nconst container = ref<HTMLElement>();\n\nconst accessibleLabel = props.accessibleLabel;\nconst loadingText = props.loadingText;\nconst noDataText = props.noDataText;\nconst selectText = props.selectText;\n\n// We render the table in a fieldset to group checkbox / radios if the table is selectable\nconst containerTag = computed(() => (props.selectable ? 'fieldset' : 'div'));\nconst internalLoading = ref(false);\nconst loading = computed(() => props.loading || internalLoading.value);\n\nconst replacementContentSpan = computed(() => {\n\treturn [!!props.selectable, !!props.actions].reduce(\n\t\t(acc: number, current) => acc + Number(!!current),\n\t\tprops.columns.length\n\t);\n});\n\n/**\n * Indexes modelValue to a map so when can easily know which values are selected\n * (using JSON to circumvent identical object not being equal in JS)\n */\nconst modelValueIndexed = computed(() => {\n\tif (props.matchStrategy === 'string') {\n\t\tlet map: { [key: string]: number } = {};\n\t\t[].concat(props.modelValue).forEach((value: any, index: number) => {\n\t\t\tmap[JSON.stringify(value)] = index;\n\t\t});\n\t\treturn {\n\t\t\tget: (value: any) => map[JSON.stringify(value)],\n\t\t};\n\t} else if (props.matchStrategy === 'equality') {\n\t\tconst map = []\n\t\t\t.concat(props.modelValue)\n\t\t\t.map((value, index) => [value, index]);\n\n\t\treturn {\n\t\t\tget: (key: any) => {\n\t\t\t\treturn map.find((pairs) => deepEqual(pairs[0], key))?.[1];\n\t\t\t},\n\t\t};\n\t} else {\n\t\tthrow new Error('No match strategy has been defined');\n\t}\n});\n\n/**\n * Map column identifiers to slot names\n */\nconst slotNames = computed(() =>\n\tprops.columns.reduce(\n\t\t(acc: { [key: string]: string }, curr: BbTableColumn) => {\n\t\t\tconst mapped = curr.key.split(/\\W+/g).join('_');\n\t\t\tacc[curr.key] = mapped;\n\t\t\treturn acc;\n\t\t},\n\t\t{}\n\t)\n);\n\n/**\n * Items as loaded from the function or from the outside\n */\nconst internalItems = ref<any[]>([]);\n\nconst getItems = async () => {\n\tlet items: any[] = [];\n\tif (Array.isArray(props.items)) {\n\t\titems = props.items;\n\t} else {\n\t\tif (typeof props.items === 'function') {\n\t\t\tinternalLoading.value = true;\n\t\t\titems = await props.items(true);\n\t\t\tinternalLoading.value = false;\n\t\t}\n\t}\n\tinternalItems.value = items;\n};\n\nonMounted(getItems);\n\n/**\n * When item changes update internal items and\n * deselect everything\n */\nwatch(\n\t() => props.items,\n\tasync (value, previous) => {\n\t\t/** Prevent infinite rerendering when items are defined in the parent's template */\n\t\tif (deepEqual(value, previous)) {\n\t\t\treturn;\n\t\t}\n\t\tawait getItems();\n\t\tif (props.multiple) {\n\t\t\temit('update:modelValue', []);\n\t\t} else {\n\t\t\temit('update:modelValue', null);\n\t\t}\n\t}\n);\n/* Prevent vue from sharing this function across instances */\nlet timeout: ReturnType<typeof setTimeout>;\nconst onDependencyChange = async (curr: any[], previous?: any[]) => {\n\tif (JSON.stringify(curr) !== JSON.stringify(previous)) {\n\t\tif (timeout) {\n\t\t\tclearTimeout(timeout);\n\t\t}\n\t\ttimeout = setTimeout(async () => {\n\t\t\tawait getItems();\n\t\t\tif (props.multiple) {\n\t\t\t\temit('update:modelValue', []);\n\t\t\t} else {\n\t\t\t\temit('update:modelValue', null);\n\t\t\t}\n\t\t}, props.depsDebounceTime);\n\t}\n};\nwatch(() => props.dependencies, onDependencyChange);\n\n/**\n * Take the columns and generate a simplified array for headers display\n */\nconst mappedHeaders = computed(() =>\n\tprops.columns.map((column: BbTableColumn): MappedHeader => {\n\t\tconst align = column.align || 'left';\n\t\tconst { label, key } = column;\n\t\tconst slotName = `header:${slotNames.value[column.key]}`;\n\t\t// Create a single merged array of all the passed classes\n\t\tlet classes: Classes = [`bb-table-header--${align}`];\n\t\tif (props.thClass) {\n\t\t\tclasses = classes.concat(props.thClass);\n\t\t}\n\t\tif (column.thClass) {\n\t\t\tclasses = classes.concat(column.thClass);\n\t\t}\n\t\treturn {\n\t\t\talign,\n\t\t\tkey,\n\t\t\tlabel,\n\t\t\tslotName,\n\t\t\tclasses,\n\t\t};\n\t})\n);\n\n/**\n * Map items to an an array that represents the entire row.\n * Track every logic here so we don't have inline callbacks in the template.\n */\nconst mappedItems = computed<MappedItem[]>(() => {\n\treturn internalItems.value.map((item: any) => {\n\t\t// By default the value if the item is the item.\n\t\tconst value = getItemValue(item, props.itemValue);\n\t\tconst jsonValue = JSON.stringify(value);\n\n\t\t/**\n\t\t * Item is selectable only if the table allows or item\n\t\t * passes iteratee and the selection is not disabled\n\t\t */\n\t\tlet selectable = !!props.selectable;\n\t\tif (typeof props.selectable === 'function') {\n\t\t\tselectable = !!props.selectable(item);\n\t\t}\n\t\tselectable = selectable && !props.disabled;\n\n\t\t//Track the index at which the item has been selected for easy of removal\n\t\tconst selectedIndex = modelValueIndexed.value.get(value);\n\t\tconst selected = !isNil(selectedIndex);\n\n\t\t// Create a projection of the columns and run all formatter logic so\n\t\t// we just display content in the template\n\t\tconst cols: MappedCell[] = props.columns.map((column) => {\n\t\t\t// Slot identifier\n\t\t\tconst slotName = slotNames.value[column.key];\n\t\t\tconst align = column.align || 'left';\n\t\t\tconst { label, key } = column;\n\t\t\t// The content\n\t\t\tlet content = getItemValue(item, column.key);\n\t\t\tif (\n\t\t\t\tcolumn.formatter &&\n\t\t\t\t// By default the formatter runs anyway\n\t\t\t\t(!isNil(content) || column.formatOnNull !== false)\n\t\t\t) {\n\t\t\t\tcontent = column.formatter(content, column.key, item);\n\t\t\t}\n\t\t\tif (column.placeholder && isNil(content)) {\n\t\t\t\tcontent = column.placeholder;\n\t\t\t}\n\n\t\t\t// Merge global and specific classes\n\t\t\tlet classes: Classes = [`bb-table-data__cell--${align}`];\n\t\t\tif (props.tdClass) {\n\t\t\t\tif (typeof props.tdClass === 'function') {\n\t\t\t\t\tlet temp = props.tdClass(content, column.key, item);\n\t\t\t\t\tif (temp) {\n\t\t\t\t\t\tclasses = classes.concat(temp);\n\t\t\t\t\t}\n\t\t\t\t} else classes = classes.concat(props.tdClass);\n\t\t\t}\n\t\t\tif (column.tdClass) {\n\t\t\t\tif (typeof column.tdClass === 'function') {\n\t\t\t\t\tlet temp = column.tdClass(content, column.key, item);\n\t\t\t\t\tif (temp) {\n\t\t\t\t\t\tclasses = classes.concat(temp);\n\t\t\t\t\t}\n\t\t\t\t} else classes = classes.concat(column.tdClass);\n\t\t\t}\n\t\t\treturn {\n\t\t\t\talign,\n\t\t\t\tclasses,\n\t\t\t\tcontent,\n\t\t\t\tkey,\n\t\t\t\tlabel,\n\t\t\t\tslotName,\n\t\t\t};\n\t\t});\n\n\t\tconst accessibleLabelText = accessibleLabel(cols, item);\n\n\t\tif (isNotNil(selectedIndex)) {\n\t\t\treturn {\n\t\t\t\taccessibleLabel: accessibleLabelText,\n\t\t\t\tcols,\n\t\t\t\tjsonValue,\n\t\t\t\toriginal: item,\n\t\t\t\tselectable,\n\t\t\t\tselected: true,\n\t\t\t\tselectedIndex,\n\t\t\t\tvalue,\n\t\t\t\tonRowClick: (event: MouseEvent) =>\n\t\t\t\t\temit('click:row', event, item, selected),\n\t\t\t\tonRowContextMenu: (event: MouseEvent) =>\n\t\t\t\t\temit('contextmenu:row', event, item, selected),\n\t\t\t\tonRowDblClick: (event: MouseEvent) =>\n\t\t\t\t\temit('dblclick:row', event, item, selected),\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\taccessibleLabel: accessibleLabelText,\n\t\t\tcols,\n\t\t\tjsonValue,\n\t\t\toriginal: item,\n\t\t\tselectable,\n\t\t\tselected: false,\n\t\t\tselectedIndex,\n\t\t\tvalue,\n\t\t\tonRowClick: (event: MouseEvent) =>\n\t\t\t\temit('click:row', event, item, selected),\n\t\t\tonRowContextMenu: (event: MouseEvent) =>\n\t\t\t\temit('contextmenu:row', event, item, selected),\n\t\t\tonRowDblClick: (event: MouseEvent) =>\n\t\t\t\temit('dblclick:row', event, item, selected),\n\t\t};\n\t});\n});\n\n/**\n * Same behavior as GMail.\n * If anything is selected remove it.\n * Then when empty you select all items of this page\n */\nconst onChangeSelectAll = (value: boolean) => {\n\tlet selectAllValue = value;\n\tlet modelValue: any[] = [];\n\n\tif (selectAllValue) {\n\t\tmodelValue = mappedItems.value.reduce((acc: any[], curr) => {\n\t\t\tif (curr.selectable) acc.push(curr.value);\n\t\t\treturn acc;\n\t\t}, []);\n\t}\n\temit('update:modelValue', modelValue);\n\temit('update:selectAll', value);\n};\n\nconst allSelected = computed(\n\t() =>\n\t\t!!(\n\t\t\tmappedItems.value.length &&\n\t\t\tmappedItems.value.every((item) => item.selectable && item.selected)\n\t\t)\n);\nconst indeterminate = computed(\n\t() =>\n\t\tmappedItems.value.some((item) => !item.selected) &&\n\t\t!!props.modelValue?.length\n);\n/**\n * Whenever an input changes update modelValue if any\n */\nconst onInputChange = (item: MappedItem) => {\n\tlet valueToEmit;\n\tif (props.multiple) {\n\t\tif (item.selected) {\n\t\t\tvalueToEmit = props.modelValue\n\t\t\t\t.slice(0, item.selectedIndex)\n\t\t\t\t.concat(props.modelValue.slice([item.selectedIndex + 1]));\n\t\t} else {\n\t\t\tvalueToEmit = props.modelValue.concat(item.value);\n\t\t}\n\t} else {\n\t\tvalueToEmit = item.value;\n\t}\n\temit('update:modelValue', valueToEmit);\n};\n\n/**\n * When using this component for submission we add a bunch of hidden inputs\n * so the submitted inputs is on par with v-model\n */\n\n/**\n * This is used to keep the value compatible to common html expected values.\n * Convert to string everything that's not but do not double encode strings\n */\nconst makeInputValue = when(\n\t(item: unknown) => typeof item !== 'string',\n\tJSON.stringify\n);\nconst hiddenInputs = computed(() => {\n\treturn [].concat(props.modelValue).map((current) => {\n\t\tconst value = makeInputValue(current);\n\t\treturn {\n\t\t\tdisabled: props.disabled,\n\t\t\tname: props.name,\n\t\t\ttype: 'hidden',\n\t\t\tvalue: value,\n\t\t};\n\t});\n});\n\nconst skeletonLength = computed(() => {\n\treturn clamp(internalItems.value.length, 4, 10);\n});\n\nwatch(\n\t() => mappedItems.value,\n\t() => {\n\t\tif (props.fixedColumns.length && props.items) {\n\t\t\tif (container.value) {\n\t\t\t\t// Get all the headers\n\t\t\t\tconst headers = Array.from(\n\t\t\t\t\tcontainer.value.querySelectorAll<HTMLElement>('thead th')\n\t\t\t\t);\n\n\t\t\t\ttype MappedColumn = {\n\t\t\t\t\tindex: number;\n\t\t\t\t\tposition: 'left' | 'right';\n\t\t\t\t\twidth: number;\n\t\t\t\t\toffset: number;\n\t\t\t\t};\n\n\t\t\t\t/**\n\t\t\t\t * For each of the columns to fix create an helper object\n\t\t\t\t */\n\t\t\t\tconst mappedColumns = props.fixedColumns.reduce((acc, curr) => {\n\t\t\t\t\tconst index = typeof curr === 'number' ? curr : curr.index;\n\t\t\t\t\tconst position = typeof curr === 'number' ? 'left' : curr.position;\n\t\t\t\t\tconst clientRect = headers[index].getBoundingClientRect();\n\t\t\t\t\tconst width = Math.floor(clientRect.width);\n\t\t\t\t\tconst offset = acc\n\t\t\t\t\t\t.filter((el) => el.position === position)\n\t\t\t\t\t\t.map((el) => el.width)\n\t\t\t\t\t\t.reduce(add, 0);\n\n\t\t\t\t\tconst mapped: MappedColumn = {\n\t\t\t\t\t\tindex: index,\n\t\t\t\t\t\tposition: position,\n\t\t\t\t\t\twidth: width,\n\t\t\t\t\t\toffset: offset,\n\t\t\t\t\t};\n\t\t\t\t\tacc.push(mapped);\n\t\t\t\t\treturn acc;\n\t\t\t\t}, [] as MappedColumn[]);\n\n\t\t\t\tconst rows = Array.from(container.value?.querySelectorAll('tr'));\n\t\t\t\tconst affectedCells = rows.map((row) =>\n\t\t\t\t\tArray.from(\n\t\t\t\t\t\trow.querySelectorAll<HTMLElement>(\n\t\t\t\t\t\t\tmappedColumns\n\t\t\t\t\t\t\t\t.map((el) => `:scope > :nth-child(${el.index + 1})`)\n\t\t\t\t\t\t\t\t.join(', ')\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t\taffectedCells.forEach((row) => {\n\t\t\t\t\trow.forEach((cell, index) => {\n\t\t\t\t\t\tcell.style.position = 'sticky';\n\n\t\t\t\t\t\tif (mappedColumns[index].position === 'left') {\n\t\t\t\t\t\t\tcell.style.left = `${mappedColumns[index].offset}px`;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcell.style.right = `${mappedColumns[index].offset}px`;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\tflush: 'post',\n\t}\n);\n</script>\n\n<style lang=\"postcss\">\n@import '@/assets/css/BbTable';\n</style>\n"],"names":["getItemValue","useItemValue","randomName","useId","props","__props","emit","__emit","container","ref","accessibleLabel","loadingText","noDataText","selectText","containerTag","computed","internalLoading","loading","replacementContentSpan","acc","current","modelValueIndexed","map","value","index","key","_a","pairs","deepEqual","slotNames","curr","mapped","internalItems","getItems","items","onMounted","watch","previous","timeout","mappedHeaders","column","align","label","slotName","classes","mappedItems","item","jsonValue","selectable","selectedIndex","selected","isNil","cols","content","temp","accessibleLabelText","isNotNil","event","onChangeSelectAll","selectAllValue","modelValue","allSelected","indeterminate","onInputChange","valueToEmit","makeInputValue","when","hiddenInputs","skeletonLength","clamp","headers","mappedColumns","position","clientRect","width","offset","el","add","row","cell"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index103.js","sources":["../src/components/BbTable/BbTable.vue"],"sourcesContent":["<template>\n\t<component\n\t\t:is=\"containerTag\"\n\t\tref=\"container\"\n\t\t:class=\"{\n\t\t\t'bb-table': true,\n\t\t\t[`bb-table--align-${align}`]: true,\n\t\t\t'bb-table--compact': compact,\n\t\t\t'bb-table--fixed': fixed,\n\t\t\t'bb-table--fixed-header': fixedHeaders,\n\t\t\t'bb-table--loading': loading,\n\t\t\t'bb-table--empty': !internalItems.length,\n\t\t\t'bb-table--selectable': selectable,\n\t\t}\"\n\t>\n\t\t<legend v-if=\"selectable\">{{ legend }}</legend>\n\t\t<table>\n\t\t\t<caption\n\t\t\t\tv-if=\"caption\"\n\t\t\t\t:class=\"{\n\t\t\t\t\t'bb-table-caption': true,\n\t\t\t\t\t'bb-table-caption--hidden': !displayCaption,\n\t\t\t\t}\"\n\t\t\t>\n\t\t\t\t{{\n\t\t\t\t\tcaption\n\t\t\t\t}}\n\t\t\t</caption>\n\t\t\t<thead>\n\t\t\t\t<slot name=\"thead\">\n\t\t\t\t\t<tr class=\"bb-table-header-row\">\n\t\t\t\t\t\t<th\n\t\t\t\t\t\t\tv-if=\"selectable\"\n\t\t\t\t\t\t\tclass=\"bb-table-header bb-table-header--select\"\n\t\t\t\t\t\t\t:class=\"thClass\"\n\t\t\t\t\t\t\tscope=\"col\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\t\t:multiple=\"multiple\"\n\t\t\t\t\t\t\t\t:name=\"'header:select'\"\n\t\t\t\t\t\t\t\t:select-all=\"!!selectAll\"\n\t\t\t\t\t\t\t\t:text=\"selectText\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<span class=\"bb-table-header__content\">\n\t\t\t\t\t\t\t\t\t<label\n\t\t\t\t\t\t\t\t\t\tv-if=\"allowSelectAll && multiple\"\n\t\t\t\t\t\t\t\t\t\tclass=\"bb-table-check__label\"\n\t\t\t\t\t\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t\t\t\t\t\t'bb-table-check__label--disabled': disabled,\n\t\t\t\t\t\t\t\t\t\t}\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<BaseCheckbox\n\t\t\t\t\t\t\t\t\t\t\tclass=\"bb-table-check\"\n\t\t\t\t\t\t\t\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t\t\t\t\t\t\t\t:indeterminate=\"indeterminate\"\n\t\t\t\t\t\t\t\t\t\t\t:model-value=\"allSelected\"\n\t\t\t\t\t\t\t\t\t\t\t:name=\"`select_all_${name || ''}`\"\n\t\t\t\t\t\t\t\t\t\t\t:readonly=\"readonly\"\n\t\t\t\t\t\t\t\t\t\t\t@update:model-value=\"onChangeSelectAll\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<span class=\"bb-table-check__label-text\"\n\t\t\t\t\t\t\t\t\t\t\t>{{ selectAllLabel }}\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\tv-else-if=\"!multiple\"\n\t\t\t\t\t\t\t\t\t\tclass=\"bb-table-radio__label-text\"\n\t\t\t\t\t\t\t\t\t\t>{{ selectText }}</span\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</slot>\n\t\t\t\t\t\t</th>\n\t\t\t\t\t\t<th\n\t\t\t\t\t\t\tv-for=\"header in mappedHeaders\"\n\t\t\t\t\t\t\t:key=\"header.key\"\n\t\t\t\t\t\t\tclass=\"bb-table-header\"\n\t\t\t\t\t\t\t:class=\"header.classes\"\n\t\t\t\t\t\t\tscope=\"col\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\t\t:classes=\"header.classes\"\n\t\t\t\t\t\t\t\t:item=\"undefined as unknown\"\n\t\t\t\t\t\t\t\t:items=\"internalItems\"\n\t\t\t\t\t\t\t\t:label=\"header.label\"\n\t\t\t\t\t\t\t\t:name=\"header.slotName\"\n\t\t\t\t\t\t\t\t><span class=\"bb-table-header__content\">{{\n\t\t\t\t\t\t\t\t\theader.label\n\t\t\t\t\t\t\t\t}}</span></slot\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t</th>\n\t\t\t\t\t\t<th\n\t\t\t\t\t\t\tv-if=\"actions\"\n\t\t\t\t\t\t\tclass=\"bb-table-header bb-table-header--actions\"\n\t\t\t\t\t\t\t:class=\"thClass\"\n\t\t\t\t\t\t\tscope=\"col\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<slot name=\"header:actions\" :text=\"actionsText\">\n\t\t\t\t\t\t\t\t<span class=\"bb-table-header__content\">\n\t\t\t\t\t\t\t\t\t{{ actionsText }}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</slot>\n\t\t\t\t\t\t</th>\n\t\t\t\t\t</tr>\n\t\t\t\t</slot>\n\t\t\t</thead>\n\t\t\t<tbody>\n\t\t\t\t<slot v-if=\"loading\" :items=\"internalItems\" name=\"loading\">\n\t\t\t\t\t<tr class=\"bb-table-loading__row\">\n\t\t\t\t\t\t<td\n\t\t\t\t\t\t\tclass=\"bb-table-loading__cell\"\n\t\t\t\t\t\t\t:colspan=\"replacementContentSpan\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span class=\"bb-table-loading__text\">{{ loadingText }}</span>\n\n\t\t\t\t\t\t\t<div class=\"bb-table-skeleton__container\" role=\"status\">\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tv-for=\"item in skeletonLength\"\n\t\t\t\t\t\t\t\t\t:key=\"item\"\n\t\t\t\t\t\t\t\t\tclass=\"bb-table-skeleton-item\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div class=\"bb-table-skeleton-item__avatar-container\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"bb-table-skeleton-item__avatar\"></div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div class=\"bb-table-skeleton-item__text\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"bb-table-skeleton-item__line\"></div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"bb-table-skeleton-item__line\"></div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t</tr>\n\t\t\t\t</slot>\n\t\t\t\t<slot v-else-if=\"!internalItems.length\" :name=\"'no-data'\">\n\t\t\t\t\t<tr class=\"bb-table-no-data__row\">\n\t\t\t\t\t\t<td\n\t\t\t\t\t\t\tclass=\"bb-table-no-data__cell\"\n\t\t\t\t\t\t\t:colspan=\"replacementContentSpan\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span class=\"bb-table-no-data__text\">{{ noDataText }}</span>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t</tr>\n\t\t\t\t</slot>\n\t\t\t\t<slot v-else name=\"tbody\">\n\t\t\t\t\t<tr\n\t\t\t\t\t\tv-for=\"item in mappedItems\"\n\t\t\t\t\t\t:key=\"item.jsonValue\"\n\t\t\t\t\t\tclass=\"bb-table-data__row\"\n\t\t\t\t\t\t@click=\"item.onRowClick\"\n\t\t\t\t\t\t@contextmenu=\"item.onRowContextMenu\"\n\t\t\t\t\t\t@dblclick=\"item.onRowDblClick\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<td\n\t\t\t\t\t\t\tv-if=\"selectable\"\n\t\t\t\t\t\t\tclass=\"bb-table-data__cell bb-table-data__cell--select\"\n\t\t\t\t\t\t\t:class=\"tdClass\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\t\t:checked=\"item.selected\"\n\t\t\t\t\t\t\t\t:disabled=\"!item.selectable\"\n\t\t\t\t\t\t\t\t:input-name=\"randomName\"\n\t\t\t\t\t\t\t\t:item=\"item.original\"\n\t\t\t\t\t\t\t\t:name=\"'select'\"\n\t\t\t\t\t\t\t\t:readonly=\"!!readonly\"\n\t\t\t\t\t\t\t\t:value=\"item.value\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<!-- We use temp names for these inputs because we don't submit them -->\n\t\t\t\t\t\t\t\t<label\n\t\t\t\t\t\t\t\t\tv-if=\"multiple\"\n\t\t\t\t\t\t\t\t\tclass=\"bb-table-check__label\"\n\t\t\t\t\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t\t\t\t\t'bb-table-check__label--disabled': !item.selectable,\n\t\t\t\t\t\t\t\t\t}\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<BaseCheckbox\n\t\t\t\t\t\t\t\t\t\t:checked=\"item.selected || allSelected\"\n\t\t\t\t\t\t\t\t\t\tclass=\"bb-table-check\"\n\t\t\t\t\t\t\t\t\t\t:disabled=\"!item.selectable\"\n\t\t\t\t\t\t\t\t\t\t:name=\"randomName\"\n\t\t\t\t\t\t\t\t\t\t:readonly=\"readonly\"\n\t\t\t\t\t\t\t\t\t\t@change=\"() => onInputChange(item)\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<span class=\"bb-table-check__label-text\">{{\n\t\t\t\t\t\t\t\t\t\titem.accessibleLabel\n\t\t\t\t\t\t\t\t\t}}</span>\n\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t<label\n\t\t\t\t\t\t\t\t\tv-else\n\t\t\t\t\t\t\t\t\tclass=\"bb-table-radio__label\"\n\t\t\t\t\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t\t\t\t\t'bb-table-radio__label--disabled': !item.selectable,\n\t\t\t\t\t\t\t\t\t}\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<BaseRadio\n\t\t\t\t\t\t\t\t\t\t:checked=\"item.selected\"\n\t\t\t\t\t\t\t\t\t\tclass=\"bb-table-radio\"\n\t\t\t\t\t\t\t\t\t\t:disabled=\"!item.selectable\"\n\t\t\t\t\t\t\t\t\t\t:name=\"randomName\"\n\t\t\t\t\t\t\t\t\t\t:readonly=\"readonly\"\n\t\t\t\t\t\t\t\t\t\t:value=\"item.value\"\n\t\t\t\t\t\t\t\t\t\t@change=\"() => onInputChange(item)\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<span class=\"bb-table-radio__label-text\">{{\n\t\t\t\t\t\t\t\t\t\titem.accessibleLabel\n\t\t\t\t\t\t\t\t\t}}</span>\n\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t</slot>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t\t<td\n\t\t\t\t\t\t\tv-for=\"col in item.cols\"\n\t\t\t\t\t\t\t:key=\"col.key\"\n\t\t\t\t\t\t\tclass=\"bb-table-data__cell\"\n\t\t\t\t\t\t\t:class=\"col.classes\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\t\t:classes=\"col.classes\"\n\t\t\t\t\t\t\t\t:content=\"col.content\"\n\t\t\t\t\t\t\t\t:item=\"item.original\"\n\t\t\t\t\t\t\t\t:name=\"col.slotName\"\n\t\t\t\t\t\t\t\t:value=\"item.value\"\n\t\t\t\t\t\t\t\t>{{ col.content }}</slot\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t\t<td\n\t\t\t\t\t\t\tv-if=\"actions\"\n\t\t\t\t\t\t\tclass=\"bb-table__cell bb-table__cell--actions\"\n\t\t\t\t\t\t\t:class=\"tdClass\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\t\t:item=\"item.original\"\n\t\t\t\t\t\t\t\t:name=\"'actions'\"\n\t\t\t\t\t\t\t\t:value=\"item.value\"\n\t\t\t\t\t\t\t></slot>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t</tr>\n\t\t\t\t</slot>\n\t\t\t</tbody>\n\t\t\t<tfoot>\n\t\t\t\t<slot name=\"tfoot\"></slot>\n\t\t\t</tfoot>\n\t\t</table>\n\t\t<input v-for=\"input in hiddenInputs\" :key=\"input.value\" v-bind=\"input\" />\n\t</component>\n</template>\n\n<script setup lang=\"ts\">\nimport { add } from '@/utilities/functions/add';\nimport { clamp } from '@/utilities/functions/clamp';\nimport { deepEqual } from 'fast-equals';\nimport { isNil } from '@/utilities/functions/isNil';\nimport { isNotNil } from '@/utilities/functions/isNotNil';\nimport { computed, onMounted, ref, watch } from 'vue';\nimport { useId } from '@/composables/useId';\nimport { useItemValue } from '@/composables/useItemValue';\nimport { when } from '@/utilities/functions/when';\nimport BaseCheckbox from '../BaseCheckbox/BaseCheckbox.vue';\nimport BaseRadio from '../BaseRadio/BaseRadio.vue';\nimport type {\n\tBbTableProps,\n\tMappedCell,\n\tMappedHeader,\n\tMappedItem,\n\tBbTableColumn,\n\tBbTableEvents,\n\tBbTableSlots,\n} from './types';\nimport type { Classes } from '@/types/Classes';\n\nconst { getItemValue } = useItemValue();\n\n/**\n * We do not allow the use of the checkbox or radio themselves as\n * they would not be submitted if the user has changed\n * page in the meantime, rather we provide a temporary\n * name so radio still work but we later add hidden inputs for submission\n */\nconst randomName = useId().id.value;\n\nconst props = withDefaults(defineProps<BbTableProps>(), {\n\talign: 'left',\n\taccessibleLabel: (columns: MappedCell[]) =>\n\t\t['Seleziona'].concat(columns.map((col) => col.content)).join(' '),\n\tactionsText: 'Azioni',\n\tallowSelectAll: true,\n\tcolumns: () => [],\n\tdependencies: () => [],\n\tdepsDebounceTime: 0,\n\tfixedColumns: () => [],\n\titems: () => [],\n\tloadingText: 'Caricamento',\n\tmatchStrategy: 'string',\n\tmultiple: true,\n\tnoDataText: 'Non ci sono elementi da visualizzare',\n\tselectAllLabel: 'Seleziona tutti gli elementi di questa pagina',\n\tselectText: 'Seleziona un elemento',\n});\n\nconst emit = defineEmits<BbTableEvents>();\n\ndefineSlots<BbTableSlots>();\n\nconst container = ref<HTMLElement>();\n\nconst accessibleLabel = props.accessibleLabel;\nconst loadingText = props.loadingText;\nconst noDataText = props.noDataText;\nconst selectText = props.selectText;\n\n// We render the table in a fieldset to group checkbox / radios if the table is selectable\nconst containerTag = computed(() => (props.selectable ? 'fieldset' : 'div'));\nconst internalLoading = ref(false);\nconst loading = computed(() => props.loading || internalLoading.value);\n\nconst replacementContentSpan = computed(() => {\n\treturn [!!props.selectable, !!props.actions].reduce(\n\t\t(acc: number, current) => acc + Number(!!current),\n\t\tprops.columns.length\n\t);\n});\n\n/**\n * Indexes modelValue to a map so when can easily know which values are selected\n * (using JSON to circumvent identical object not being equal in JS)\n */\nconst modelValueIndexed = computed(() => {\n\tif (props.matchStrategy === 'string') {\n\t\tlet map: { [key: string]: number } = {};\n\t\t[].concat(props.modelValue).forEach((value: any, index: number) => {\n\t\t\tmap[JSON.stringify(value)] = index;\n\t\t});\n\t\treturn {\n\t\t\tget: (value: any) => map[JSON.stringify(value)],\n\t\t};\n\t} else if (props.matchStrategy === 'equality') {\n\t\tconst map = []\n\t\t\t.concat(props.modelValue)\n\t\t\t.map((value, index) => [value, index]);\n\n\t\treturn {\n\t\t\tget: (key: any) => {\n\t\t\t\treturn map.find((pairs) => deepEqual(pairs[0], key))?.[1];\n\t\t\t},\n\t\t};\n\t} else {\n\t\tthrow new Error('No match strategy has been defined');\n\t}\n});\n\n/**\n * Map column identifiers to slot names\n */\nconst slotNames = computed(() =>\n\tprops.columns.reduce(\n\t\t(acc: { [key: string]: string }, curr: BbTableColumn) => {\n\t\t\tconst mapped = curr.key.split(/\\W+/g).join('_');\n\t\t\tacc[curr.key] = mapped;\n\t\t\treturn acc;\n\t\t},\n\t\t{}\n\t)\n);\n\n/**\n * Items as loaded from the function or from the outside\n */\nconst internalItems = ref<any[]>([]);\n\nconst getItems = async () => {\n\tlet items: any[] = [];\n\tif (Array.isArray(props.items)) {\n\t\titems = props.items;\n\t} else {\n\t\tif (typeof props.items === 'function') {\n\t\t\tinternalLoading.value = true;\n\t\t\titems = await props.items(true);\n\t\t\tinternalLoading.value = false;\n\t\t}\n\t}\n\tinternalItems.value = items;\n};\n\nonMounted(getItems);\n\n/**\n * When item changes update internal items and\n * deselect everything\n */\nwatch(\n\t() => props.items,\n\tasync (value, previous) => {\n\t\t/** Prevent infinite rerendering when items are defined in the parent's template */\n\t\tif (deepEqual(value, previous)) {\n\t\t\treturn;\n\t\t}\n\t\tawait getItems();\n\t\tif (props.multiple) {\n\t\t\temit('update:modelValue', []);\n\t\t} else {\n\t\t\temit('update:modelValue', null);\n\t\t}\n\t}\n);\n/* Prevent vue from sharing this function across instances */\nlet timeout: ReturnType<typeof setTimeout>;\nconst onDependencyChange = async (curr: any[], previous?: any[]) => {\n\tif (JSON.stringify(curr) !== JSON.stringify(previous)) {\n\t\tif (timeout) {\n\t\t\tclearTimeout(timeout);\n\t\t}\n\t\ttimeout = setTimeout(async () => {\n\t\t\tawait getItems();\n\t\t\tif (props.multiple) {\n\t\t\t\temit('update:modelValue', []);\n\t\t\t} else {\n\t\t\t\temit('update:modelValue', null);\n\t\t\t}\n\t\t}, props.depsDebounceTime);\n\t}\n};\nwatch(() => props.dependencies, onDependencyChange);\n\n/**\n * Take the columns and generate a simplified array for headers display\n */\nconst mappedHeaders = computed(() =>\n\tprops.columns.map((column: BbTableColumn): MappedHeader => {\n\t\tconst align = column.align || 'left';\n\t\tconst { label, key } = column;\n\t\tconst slotName = `header:${slotNames.value[column.key]}`;\n\t\t// Create a single merged array of all the passed classes\n\t\tlet classes: Classes = [`bb-table-header--${align}`];\n\t\tif (props.thClass) {\n\t\t\tclasses = classes.concat(props.thClass);\n\t\t}\n\t\tif (column.thClass) {\n\t\t\tclasses = classes.concat(column.thClass);\n\t\t}\n\t\treturn {\n\t\t\talign,\n\t\t\tkey,\n\t\t\tlabel,\n\t\t\tslotName,\n\t\t\tclasses,\n\t\t};\n\t})\n);\n\n/**\n * Map items to an an array that represents the entire row.\n * Track every logic here so we don't have inline callbacks in the template.\n */\nconst mappedItems = computed<MappedItem[]>(() => {\n\treturn internalItems.value.map((item: any) => {\n\t\t// By default the value if the item is the item.\n\t\tconst value = getItemValue(item, props.itemValue);\n\t\tconst jsonValue = JSON.stringify(value);\n\n\t\t/**\n\t\t * Item is selectable only if the table allows or item\n\t\t * passes iteratee and the selection is not disabled\n\t\t */\n\t\tlet selectable = !!props.selectable;\n\t\tif (typeof props.selectable === 'function') {\n\t\t\tselectable = !!props.selectable(item);\n\t\t}\n\t\tselectable = selectable && !props.disabled;\n\n\t\t//Track the index at which the item has been selected for easy of removal\n\t\tconst selectedIndex = modelValueIndexed.value.get(value);\n\t\tconst selected = !isNil(selectedIndex);\n\n\t\t// Create a projection of the columns and run all formatter logic so\n\t\t// we just display content in the template\n\t\tconst cols: MappedCell[] = props.columns.map((column) => {\n\t\t\t// Slot identifier\n\t\t\tconst slotName = slotNames.value[column.key];\n\t\t\tconst align = column.align || 'left';\n\t\t\tconst { label, key } = column;\n\t\t\t// The content\n\t\t\tlet content = getItemValue(item, column.key);\n\t\t\tif (\n\t\t\t\tcolumn.formatter &&\n\t\t\t\t// By default the formatter runs anyway\n\t\t\t\t(!isNil(content) || column.formatOnNull !== false)\n\t\t\t) {\n\t\t\t\tcontent = column.formatter(content, column.key, item);\n\t\t\t}\n\t\t\tif (column.placeholder && isNil(content)) {\n\t\t\t\tcontent = column.placeholder;\n\t\t\t}\n\n\t\t\t// Merge global and specific classes\n\t\t\tlet classes: Classes = [`bb-table-data__cell--${align}`];\n\t\t\tif (props.tdClass) {\n\t\t\t\tif (typeof props.tdClass === 'function') {\n\t\t\t\t\tlet temp = props.tdClass(content, column.key, item);\n\t\t\t\t\tif (temp) {\n\t\t\t\t\t\tclasses = classes.concat(temp);\n\t\t\t\t\t}\n\t\t\t\t} else classes = classes.concat(props.tdClass);\n\t\t\t}\n\t\t\tif (column.tdClass) {\n\t\t\t\tif (typeof column.tdClass === 'function') {\n\t\t\t\t\tlet temp = column.tdClass(content, column.key, item);\n\t\t\t\t\tif (temp) {\n\t\t\t\t\t\tclasses = classes.concat(temp);\n\t\t\t\t\t}\n\t\t\t\t} else classes = classes.concat(column.tdClass);\n\t\t\t}\n\t\t\treturn {\n\t\t\t\talign,\n\t\t\t\tclasses,\n\t\t\t\tcontent,\n\t\t\t\tkey,\n\t\t\t\tlabel,\n\t\t\t\tslotName,\n\t\t\t};\n\t\t});\n\n\t\tconst accessibleLabelText = accessibleLabel(cols, item);\n\n\t\tif (isNotNil(selectedIndex)) {\n\t\t\treturn {\n\t\t\t\taccessibleLabel: accessibleLabelText,\n\t\t\t\tcols,\n\t\t\t\tjsonValue,\n\t\t\t\toriginal: item,\n\t\t\t\tselectable,\n\t\t\t\tselected: true,\n\t\t\t\tselectedIndex,\n\t\t\t\tvalue,\n\t\t\t\tonRowClick: (event: MouseEvent) =>\n\t\t\t\t\temit('click:row', event, item, selected),\n\t\t\t\tonRowContextMenu: (event: MouseEvent) =>\n\t\t\t\t\temit('contextmenu:row', event, item, selected),\n\t\t\t\tonRowDblClick: (event: MouseEvent) =>\n\t\t\t\t\temit('dblclick:row', event, item, selected),\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\taccessibleLabel: accessibleLabelText,\n\t\t\tcols,\n\t\t\tjsonValue,\n\t\t\toriginal: item,\n\t\t\tselectable,\n\t\t\tselected: false,\n\t\t\tselectedIndex,\n\t\t\tvalue,\n\t\t\tonRowClick: (event: MouseEvent) =>\n\t\t\t\temit('click:row', event, item, selected),\n\t\t\tonRowContextMenu: (event: MouseEvent) =>\n\t\t\t\temit('contextmenu:row', event, item, selected),\n\t\t\tonRowDblClick: (event: MouseEvent) =>\n\t\t\t\temit('dblclick:row', event, item, selected),\n\t\t};\n\t});\n});\n\n/**\n * Same behavior as GMail.\n * If anything is selected remove it.\n * Then when empty you select all items of this page\n */\nconst onChangeSelectAll = (value: boolean) => {\n\tlet selectAllValue = value;\n\tlet modelValue: any[] = [];\n\n\tif (selectAllValue) {\n\t\tmodelValue = mappedItems.value.reduce((acc: any[], curr) => {\n\t\t\tif (curr.selectable) acc.push(curr.value);\n\t\t\treturn acc;\n\t\t}, []);\n\t}\n\temit('update:modelValue', modelValue);\n\temit('update:selectAll', value);\n};\n\nconst allSelected = computed(\n\t() =>\n\t\t!!(\n\t\t\tmappedItems.value.length &&\n\t\t\tmappedItems.value\n\t\t\t\t.filter((item) => item.selectable)\n\t\t\t\t.every((item) => item.selected)\n\t\t)\n);\nconst indeterminate = computed(\n\t() =>\n\t\tmappedItems.value.some((item) => !item.selected) &&\n\t\t!!props.modelValue?.length\n);\n/**\n * Whenever an input changes update modelValue if any\n */\nconst onInputChange = (item: MappedItem) => {\n\tlet valueToEmit;\n\tif (props.multiple) {\n\t\tif (item.selected) {\n\t\t\tvalueToEmit = props.modelValue\n\t\t\t\t.slice(0, item.selectedIndex)\n\t\t\t\t.concat(props.modelValue.slice([item.selectedIndex + 1]));\n\t\t} else {\n\t\t\tvalueToEmit = props.modelValue.concat(item.value);\n\t\t}\n\t} else {\n\t\tvalueToEmit = item.value;\n\t}\n\temit('update:modelValue', valueToEmit);\n};\n\n/**\n * When using this component for submission we add a bunch of hidden inputs\n * so the submitted inputs is on par with v-model\n */\n\n/**\n * This is used to keep the value compatible to common html expected values.\n * Convert to string everything that's not but do not double encode strings\n */\nconst makeInputValue = when(\n\t(item: unknown) => typeof item !== 'string',\n\tJSON.stringify\n);\nconst hiddenInputs = computed(() => {\n\treturn [].concat(props.modelValue).map((current) => {\n\t\tconst value = makeInputValue(current);\n\t\treturn {\n\t\t\tdisabled: props.disabled,\n\t\t\tname: props.name,\n\t\t\ttype: 'hidden',\n\t\t\tvalue: value,\n\t\t};\n\t});\n});\n\nconst skeletonLength = computed(() => {\n\treturn clamp(internalItems.value.length, 4, 10);\n});\n\nwatch(\n\t() => mappedItems.value,\n\t() => {\n\t\tif (props.fixedColumns.length && props.items) {\n\t\t\tif (container.value) {\n\t\t\t\t// Get all the headers\n\t\t\t\tconst headers = Array.from(\n\t\t\t\t\tcontainer.value.querySelectorAll<HTMLElement>('thead th')\n\t\t\t\t);\n\n\t\t\t\ttype MappedColumn = {\n\t\t\t\t\tindex: number;\n\t\t\t\t\tposition: 'left' | 'right';\n\t\t\t\t\twidth: number;\n\t\t\t\t\toffset: number;\n\t\t\t\t};\n\n\t\t\t\t/**\n\t\t\t\t * For each of the columns to fix create an helper object\n\t\t\t\t */\n\t\t\t\tconst mappedColumns = props.fixedColumns.reduce((acc, curr) => {\n\t\t\t\t\tconst index = typeof curr === 'number' ? curr : curr.index;\n\t\t\t\t\tconst position = typeof curr === 'number' ? 'left' : curr.position;\n\t\t\t\t\tconst clientRect = headers[index].getBoundingClientRect();\n\t\t\t\t\tconst width = Math.floor(clientRect.width);\n\t\t\t\t\tconst offset = acc\n\t\t\t\t\t\t.filter((el) => el.position === position)\n\t\t\t\t\t\t.map((el) => el.width)\n\t\t\t\t\t\t.reduce(add, 0);\n\n\t\t\t\t\tconst mapped: MappedColumn = {\n\t\t\t\t\t\tindex: index,\n\t\t\t\t\t\tposition: position,\n\t\t\t\t\t\twidth: width,\n\t\t\t\t\t\toffset: offset,\n\t\t\t\t\t};\n\t\t\t\t\tacc.push(mapped);\n\t\t\t\t\treturn acc;\n\t\t\t\t}, [] as MappedColumn[]);\n\n\t\t\t\tconst rows = Array.from(container.value?.querySelectorAll('tr'));\n\t\t\t\tconst affectedCells = rows.map((row) =>\n\t\t\t\t\tArray.from(\n\t\t\t\t\t\trow.querySelectorAll<HTMLElement>(\n\t\t\t\t\t\t\tmappedColumns\n\t\t\t\t\t\t\t\t.map((el) => `:scope > :nth-child(${el.index + 1})`)\n\t\t\t\t\t\t\t\t.join(', ')\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t\taffectedCells.forEach((row) => {\n\t\t\t\t\trow.forEach((cell, index) => {\n\t\t\t\t\t\tcell.style.position = 'sticky';\n\n\t\t\t\t\t\tif (mappedColumns[index].position === 'left') {\n\t\t\t\t\t\t\tcell.style.left = `${mappedColumns[index].offset}px`;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcell.style.right = `${mappedColumns[index].offset}px`;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\tflush: 'post',\n\t}\n);\n</script>\n\n<style lang=\"postcss\">\n@import '@/assets/css/BbTable';\n</style>\n"],"names":["getItemValue","useItemValue","randomName","useId","props","__props","emit","__emit","container","ref","accessibleLabel","loadingText","noDataText","selectText","containerTag","computed","internalLoading","loading","replacementContentSpan","acc","current","modelValueIndexed","map","value","index","key","_a","pairs","deepEqual","slotNames","curr","mapped","internalItems","getItems","items","onMounted","watch","previous","timeout","mappedHeaders","column","align","label","slotName","classes","mappedItems","item","jsonValue","selectable","selectedIndex","selected","isNil","cols","content","temp","accessibleLabelText","isNotNil","event","onChangeSelectAll","selectAllValue","modelValue","allSelected","indeterminate","onInputChange","valueToEmit","makeInputValue","when","hiddenInputs","skeletonLength","clamp","headers","mappedColumns","position","clientRect","width","offset","el","add","row","cell"],"mappings":"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"}
|
package/dist/index111.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent as s, openBlock as e, createBlock as o, Teleport as l, createElementVNode as c, normalizeClass as m, createVNode as i, TransitionGroup as p, withCtx as u, createElementBlock as d, Fragment as f, renderList as _, unref as r, mergeProps as b } from "vue";
|
|
2
2
|
import { state as k, useToast as C } from "./index6.js";
|
|
3
|
-
import B from "./
|
|
3
|
+
import B from "./index252.js";
|
|
4
4
|
const N = /* @__PURE__ */ s({
|
|
5
5
|
__name: "BbToast",
|
|
6
6
|
props: {
|
package/dist/index113.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { defineComponent as A, ref as o, computed as E, openBlock as b, createElementBlock as $, mergeProps as D, createElementVNode as i, renderSlot as L, normalizeProps as H, guardReactiveProps as I, unref as s, createBlock as M, Teleport as R, normalizeClass as U, normalizeStyle as j, withCtx as q, createCommentVNode as O } from "vue";
|
|
2
|
-
import { useFloating as G, arrow as J } from "./
|
|
2
|
+
import { useFloating as G, arrow as J } from "./index209.js";
|
|
3
3
|
import { useId as K } from "./index8.js";
|
|
4
4
|
import { wait as P } from "./index124.js";
|
|
5
5
|
import Q from "./index10.js";
|
|
6
6
|
import "./index11.js";
|
|
7
|
-
import { throttle as v } from "./
|
|
8
|
-
import { waitFor as W } from "./
|
|
9
|
-
import { autoUpdate as X, flip as Y, shift as Z } from "./
|
|
7
|
+
import { throttle as v } from "./index199.js";
|
|
8
|
+
import { waitFor as W } from "./index201.js";
|
|
9
|
+
import { autoUpdate as X, flip as Y, shift as Z } from "./index216.js";
|
|
10
10
|
const ee = { class: "bb-tooltip__bubble" }, te = /* @__PURE__ */ i("svg", {
|
|
11
11
|
fill: "none",
|
|
12
12
|
viewBox: "0 0 24 24",
|
package/dist/index115.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent as $, computed as g, resolveComponent as y, openBlock as f, createElementBlock as i, Fragment as v, renderList as h, normalizeClass as b, createElementVNode as s, renderSlot as p, createVNode as k, createSlots as B, withCtx as C, normalizeProps as T, guardReactiveProps as _ } from "vue";
|
|
2
|
-
import { flattenTree as P } from "./
|
|
2
|
+
import { flattenTree as P } from "./index251.js";
|
|
3
3
|
const w = { class: "bb-tree-row" }, z = { class: "bb-tree-main-content" }, I = /* @__PURE__ */ $({
|
|
4
4
|
__name: "BbTree",
|
|
5
5
|
props: {
|
package/dist/index119.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent as m, getCurrentInstance as d, inject as x, computed as l, ref as y, watchEffect as _, openBlock as b, createElementBlock as h, mergeProps as w } from "vue";
|
|
2
|
-
import { isCssColor as z } from "./
|
|
2
|
+
import { isCssColor as z } from "./index205.js";
|
|
3
3
|
const g = ["innerHTML"], $ = /* @__PURE__ */ m({
|
|
4
4
|
__name: "BbIcon",
|
|
5
5
|
props: {
|
package/dist/index12.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { defineComponent as C, ref as b, computed as n, watch as E, openBlock as m, createElementBlock as p, normalizeProps as c, guardReactiveProps as h, mergeProps as f, createCommentVNode as I, createElementVNode as r, renderSlot as F } from "vue";
|
|
2
|
-
import { isCssColor as k } from "./
|
|
3
|
-
import { when as N } from "./
|
|
4
|
-
import { booleanishToBoolean as S } from "./
|
|
2
|
+
import { isCssColor as k } from "./index205.js";
|
|
3
|
+
import { when as N } from "./index219.js";
|
|
4
|
+
import { booleanishToBoolean as S } from "./index203.js";
|
|
5
5
|
const A = {
|
|
6
6
|
"aria-hidden": "true",
|
|
7
7
|
class: "bb-base-checkbox-container"
|
package/dist/index120.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent as v, ref as r, onMounted as p, onBeforeUnmount as h, openBlock as i, createBlock as l, resolveDynamicComponent as u, normalizeStyle as m, withCtx as f, renderSlot as d } from "vue";
|
|
2
|
-
import { throttle as g } from "./
|
|
2
|
+
import { throttle as g } from "./index199.js";
|
|
3
3
|
const O = /* @__PURE__ */ v({
|
|
4
4
|
__name: "BbSmoothHeight",
|
|
5
5
|
props: {
|
package/dist/index121.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent as m, computed as r, openBlock as a, createElementBlock as d, normalizeProps as u, guardReactiveProps as z, createElementVNode as c } from "vue";
|
|
2
|
-
import { isCssColor as f } from "./
|
|
2
|
+
import { isCssColor as f } from "./index205.js";
|
|
3
3
|
const _ = /* @__PURE__ */ c("svg", {
|
|
4
4
|
viewBox: "0 0 512 512",
|
|
5
5
|
xmlns: "http://www.w3.org/2000/svg"
|
package/dist/index127.js
CHANGED
package/dist/index128.js
CHANGED
package/dist/index129.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isArray as b, isPlainObject as m } from "./
|
|
1
|
+
import { isArray as b, isPlainObject as m } from "./index257.js";
|
|
2
2
|
function i(e, n, l, o, r) {
|
|
3
3
|
const u = {}.propertyIsEnumerable.call(o, n) ? "enumerable" : "nonenumerable";
|
|
4
4
|
u === "enumerable" && (e[n] = l), r && u === "nonenumerable" && Object.defineProperty(e, n, {
|
package/dist/index133.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { toValue as E, useDebounceFn as z, useThrottleFn as Q, tryOnMounted as Y, noop as F, isObject as X, tryOnScopeDispose as j, isClient as $ } from "./
|
|
2
|
-
import { createFilterWrapper as se, debounceFilter as ae, getLifeCycleTarget as ce, throttleFilter as fe } from "./
|
|
1
|
+
import { toValue as E, useDebounceFn as z, useThrottleFn as Q, tryOnMounted as Y, noop as F, isObject as X, tryOnScopeDispose as j, isClient as $ } from "./index226.js";
|
|
2
|
+
import { createFilterWrapper as se, debounceFilter as ae, getLifeCycleTarget as ce, throttleFilter as fe } from "./index226.js";
|
|
3
3
|
import { ref as T, computed as S, reactive as V, watch as k, watchEffect as q, getCurrentInstance as G, onMounted as J } from "vue";
|
|
4
4
|
function K(l) {
|
|
5
5
|
var u;
|
package/dist/index16.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { defineComponent as Ve, ref as k, computed as p, watch as F, nextTick as U, openBlock as d, createElementBlock as u, mergeProps as Se, createElementVNode as r, createTextVNode as De, toDisplayString as f, unref as y, withDirectives as q, createVNode as V, Transition as S, withCtx as D, vShow as j, createCommentVNode as Y, normalizeClass as g, Fragment as w, renderList as O, renderSlot as G } from "vue";
|
|
2
|
-
import i from "./
|
|
3
|
-
import Me from "./
|
|
4
|
-
import Ae from "./
|
|
5
|
-
import xe from "./
|
|
6
|
-
import Ce from "./
|
|
7
|
-
import Ye from "./
|
|
8
|
-
import { groupBy as J } from "./
|
|
2
|
+
import i from "./index211.js";
|
|
3
|
+
import Me from "./index220.js";
|
|
4
|
+
import Ae from "./index221.js";
|
|
5
|
+
import xe from "./index212.js";
|
|
6
|
+
import Ce from "./index222.js";
|
|
7
|
+
import Ye from "./index223.js";
|
|
8
|
+
import { groupBy as J } from "./index224.js";
|
|
9
9
|
import { isNil as Be } from "./index122.js";
|
|
10
|
-
import { last as Q } from "./
|
|
10
|
+
import { last as Q } from "./index213.js";
|
|
11
11
|
const Ie = { class: "bb-base-date-picker__header" }, Ee = ["disabled"], Ne = /* @__PURE__ */ r("span", null, null, -1), Te = {
|
|
12
12
|
"aria-live": "polite",
|
|
13
13
|
class: "bb-base-date-picker__selected-day-label"
|
package/dist/index18.js
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import { defineComponent as ae, ref as n, computed as c, watch as te, openBlock as B, createElementBlock as ne, normalizeClass as O, renderSlot as p, createElementVNode as r, withDirectives as oe, mergeProps as z, unref as m, toDisplayString as L, createBlock as re, Teleport as le, normalizeStyle as ie, createVNode as se, createSlots as ue, renderList as de, withCtx as ce, normalizeProps as pe, guardReactiveProps as me, createCommentVNode as fe } from "vue";
|
|
2
|
-
import { useFloating as be } from "./
|
|
3
|
-
import ve from "./
|
|
4
|
-
import o from "./
|
|
5
|
-
import ye from "./
|
|
6
|
-
import { identity as ge } from "./
|
|
7
|
-
import { last as he } from "./
|
|
8
|
-
import { useFocusTrap as ke } from "./
|
|
2
|
+
import { useFloating as be } from "./index209.js";
|
|
3
|
+
import ve from "./index210.js";
|
|
4
|
+
import o from "./index211.js";
|
|
5
|
+
import ye from "./index212.js";
|
|
6
|
+
import { identity as ge } from "./index204.js";
|
|
7
|
+
import { last as he } from "./index213.js";
|
|
8
|
+
import { useFocusTrap as ke } from "./index200.js";
|
|
9
9
|
import { useId as Me } from "./index8.js";
|
|
10
|
-
import { vMaska as we } from "./
|
|
10
|
+
import { vMaska as we } from "./index214.js";
|
|
11
11
|
import { wait as Y } from "./index124.js";
|
|
12
|
-
import { waitFor as Ve } from "./
|
|
12
|
+
import { waitFor as Ve } from "./index201.js";
|
|
13
13
|
import _e from "./index16.js";
|
|
14
14
|
import "./index17.js";
|
|
15
|
-
import { useMobile as Ye } from "./
|
|
16
|
-
import { autoUpdate as De, flip as Ae, shift as Se } from "./
|
|
17
|
-
import { offset as Ce } from "./
|
|
15
|
+
import { useMobile as Ye } from "./index215.js";
|
|
16
|
+
import { autoUpdate as De, flip as Ae, shift as Se } from "./index216.js";
|
|
17
|
+
import { offset as Ce } from "./index217.js";
|
|
18
18
|
const $e = ["id", "aria-describedby", "autocomplete", "autofocus", "data-maska", "disabled", "inputmode", "name", "placeholder", "readonly", "value"], Ee = ["disabled"], Be = /* @__PURE__ */ r("svg", {
|
|
19
19
|
viewBox: "-2 -3 24 24",
|
|
20
20
|
xmlns: "http://www.w3.org/2000/svg"
|
package/dist/index199.js
CHANGED
package/dist/index199.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index199.js","sources":["../src/utilities/functions/
|
|
1
|
+
{"version":3,"file":"index199.js","sources":["../src/utilities/functions/throttle.ts"],"sourcesContent":["import t from 'lodash.throttle';\n\nexport const throttle = t;\n"],"names":["throttle"],"mappings":";AAEO,MAAMA,IAAW;"}
|
package/dist/index20.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { defineComponent as oe, ref as o, getCurrentInstance as ae, computed as m, nextTick as R, useAttrs as se, onMounted as ne, onBeforeUnmount as G, watch as ie, openBlock as w, createBlock as re, Teleport as ue, createElementVNode as a, mergeProps as K, createElementBlock as H, renderSlot as r, createTextVNode as de, toDisplayString as T, createCommentVNode as $ } from "vue";
|
|
2
|
-
import { throttle as ce } from "./
|
|
3
|
-
import { useFocusTrap as ve } from "./
|
|
2
|
+
import { throttle as ce } from "./index199.js";
|
|
3
|
+
import { useFocusTrap as ve } from "./index200.js";
|
|
4
4
|
import { useId as P } from "./index8.js";
|
|
5
5
|
import { wait as L } from "./index124.js";
|
|
6
|
-
import { waitFor as be } from "./
|
|
7
|
-
import { useModalsState as k } from "./
|
|
6
|
+
import { waitFor as be } from "./index201.js";
|
|
7
|
+
import { useModalsState as k } from "./index202.js";
|
|
8
8
|
const fe = { class: "bb-base-dialog-close" }, pe = { class: "bb-base-dialog-close__content" }, me = { class: "bb-base-dialog-close__label" }, ge = /* @__PURE__ */ a("span", { class: "bb-base-dialog-close__icon" }, [
|
|
9
9
|
/* @__PURE__ */ a("svg", {
|
|
10
10
|
"aria-hidden": "true",
|
package/dist/index200.js
CHANGED
|
@@ -1,7 +1,38 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { unrefElement as m } from "./index133.js";
|
|
2
|
+
import { ref as u, watch as l } from "vue";
|
|
3
|
+
import { createFocusTrap as d } from "./index233.js";
|
|
4
|
+
import { tryOnScopeDispose as D } from "./index226.js";
|
|
5
|
+
function O(i, a = {}) {
|
|
6
|
+
let e;
|
|
7
|
+
const { immediate: f, ...n } = a, c = u(!1), s = u(!1), o = (t) => e && e.activate(t), r = (t) => e && e.deactivate(t), v = () => {
|
|
8
|
+
e && (e.pause(), s.value = !0);
|
|
9
|
+
}, p = () => {
|
|
10
|
+
e && (e.unpause(), s.value = !1);
|
|
11
|
+
};
|
|
12
|
+
return l(
|
|
13
|
+
() => m(i),
|
|
14
|
+
(t) => {
|
|
15
|
+
t && (e = d(t, {
|
|
16
|
+
...n,
|
|
17
|
+
onActivate() {
|
|
18
|
+
c.value = !0, a.onActivate && a.onActivate();
|
|
19
|
+
},
|
|
20
|
+
onDeactivate() {
|
|
21
|
+
c.value = !1, a.onDeactivate && a.onDeactivate();
|
|
22
|
+
}
|
|
23
|
+
}), f && o());
|
|
24
|
+
},
|
|
25
|
+
{ flush: "post" }
|
|
26
|
+
), D(() => r()), {
|
|
27
|
+
hasFocus: c,
|
|
28
|
+
isPaused: s,
|
|
29
|
+
activate: o,
|
|
30
|
+
deactivate: r,
|
|
31
|
+
pause: v,
|
|
32
|
+
unpause: p
|
|
33
|
+
};
|
|
34
|
+
}
|
|
3
35
|
export {
|
|
4
|
-
|
|
5
|
-
s as when
|
|
36
|
+
O as useFocusTrap
|
|
6
37
|
};
|
|
7
38
|
//# sourceMappingURL=index200.js.map
|
package/dist/index200.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index200.js","sources":["../
|
|
1
|
+
{"version":3,"file":"index200.js","sources":["../node_modules/@vueuse/integrations/useFocusTrap.mjs"],"sourcesContent":["import { unrefElement, tryOnScopeDispose } from '@vueuse/core';\nimport { ref, watch } from 'vue-demi';\nimport { createFocusTrap } from 'focus-trap';\n\nfunction useFocusTrap(target, options = {}) {\n let trap;\n const { immediate, ...focusTrapOptions } = options;\n const hasFocus = ref(false);\n const isPaused = ref(false);\n const activate = (opts) => trap && trap.activate(opts);\n const deactivate = (opts) => trap && trap.deactivate(opts);\n const pause = () => {\n if (trap) {\n trap.pause();\n isPaused.value = true;\n }\n };\n const unpause = () => {\n if (trap) {\n trap.unpause();\n isPaused.value = false;\n }\n };\n watch(\n () => unrefElement(target),\n (el) => {\n if (!el)\n return;\n trap = createFocusTrap(el, {\n ...focusTrapOptions,\n onActivate() {\n hasFocus.value = true;\n if (options.onActivate)\n options.onActivate();\n },\n onDeactivate() {\n hasFocus.value = false;\n if (options.onDeactivate)\n options.onDeactivate();\n }\n });\n if (immediate)\n activate();\n },\n { flush: \"post\" }\n );\n tryOnScopeDispose(() => deactivate());\n return {\n hasFocus,\n isPaused,\n activate,\n deactivate,\n pause,\n unpause\n };\n}\n\nexport { useFocusTrap };\n"],"names":["useFocusTrap","target","options","trap","immediate","focusTrapOptions","hasFocus","ref","isPaused","activate","opts","deactivate","pause","unpause","watch","unrefElement","el","createFocusTrap","tryOnScopeDispose"],"mappings":";;;;AAIA,SAASA,EAAaC,GAAQC,IAAU,IAAI;AAC1C,MAAIC;AACJ,QAAM,EAAE,WAAAC,GAAW,GAAGC,EAAgB,IAAKH,GACrCI,IAAWC,EAAI,EAAK,GACpBC,IAAWD,EAAI,EAAK,GACpBE,IAAW,CAACC,MAASP,KAAQA,EAAK,SAASO,CAAI,GAC/CC,IAAa,CAACD,MAASP,KAAQA,EAAK,WAAWO,CAAI,GACnDE,IAAQ,MAAM;AAClB,IAAIT,MACFA,EAAK,MAAK,GACVK,EAAS,QAAQ;AAAA,EAEvB,GACQK,IAAU,MAAM;AACpB,IAAIV,MACFA,EAAK,QAAO,GACZK,EAAS,QAAQ;AAAA,EAEvB;AACE,SAAAM;AAAA,IACE,MAAMC,EAAad,CAAM;AAAA,IACzB,CAACe,MAAO;AACN,MAAKA,MAELb,IAAOc,EAAgBD,GAAI;AAAA,QACzB,GAAGX;AAAA,QACH,aAAa;AACX,UAAAC,EAAS,QAAQ,IACbJ,EAAQ,cACVA,EAAQ,WAAU;AAAA,QACrB;AAAA,QACD,eAAe;AACb,UAAAI,EAAS,QAAQ,IACbJ,EAAQ,gBACVA,EAAQ,aAAY;AAAA,QACvB;AAAA,MACT,CAAO,GACGE,KACFK;IACH;AAAA,IACD,EAAE,OAAO,OAAQ;AAAA,EACrB,GACES,EAAkB,MAAMP,EAAU,CAAE,GAC7B;AAAA,IACL,UAAAL;AAAA,IACA,UAAAE;AAAA,IACA,UAAAC;AAAA,IACA,YAAAE;AAAA,IACA,OAAAC;AAAA,IACA,SAAAC;AAAA,EACJ;AACA;","x_google_ignoreList":[0]}
|
package/dist/index201.js
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
|
-
const o = (e
|
|
1
|
+
const o = (e, t = 50) => new Promise((r) => {
|
|
2
|
+
const n = setInterval(() => {
|
|
3
|
+
e() && (clearInterval(n), r());
|
|
4
|
+
}, t);
|
|
5
|
+
});
|
|
2
6
|
export {
|
|
3
|
-
o as
|
|
7
|
+
o as waitFor
|
|
4
8
|
};
|
|
5
9
|
//# sourceMappingURL=index201.js.map
|
package/dist/index201.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index201.js","sources":["../src/utilities/functions/
|
|
1
|
+
{"version":3,"file":"index201.js","sources":["../src/utilities/functions/waitFor.ts"],"sourcesContent":["/** Wait until iteratee returns true to resolve the promise */\nexport const waitFor: (\n\titeratee: () => boolean,\n\tinterval?: number\n) => Promise<void> = (iteratee, interval = 50) =>\n\tnew Promise((resolve) => {\n\t\tconst i = setInterval(() => {\n\t\t\tif (iteratee()) {\n\t\t\t\tclearInterval(i);\n\t\t\t\tresolve();\n\t\t\t}\n\t\t}, interval);\n\t});\n"],"names":["waitFor","iteratee","interval","resolve","i"],"mappings":"AACa,MAAAA,IAGQ,CAACC,GAAUC,IAAW,OAC1C,IAAI,QAAQ,CAACC,MAAY;AAClB,QAAAC,IAAI,YAAY,MAAM;AAC3B,IAAIH,QACH,cAAcG,CAAC,GACPD;KAEPD,CAAQ;AACZ,CAAC;"}
|