bitboss-ui 2.0.1 → 2.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/BbTable/BbTable.vue.d.ts +3 -0
- package/dist/index105.js +6 -6
- package/dist/index105.js.map +1 -1
- package/dist/index113.js +1 -1
- package/dist/index115.js +4 -4
- package/dist/index117.js +1 -1
- package/dist/index12.js +1 -1
- package/dist/index121.js +1 -1
- package/dist/index122.js +1 -1
- package/dist/index123.js +1 -1
- package/dist/index125.js +1 -1
- package/dist/index128.js +1 -1
- package/dist/index14.js +3 -3
- package/dist/index16.js +2 -2
- package/dist/index18.js +3 -3
- package/dist/index198.js +5 -2
- package/dist/index198.js.map +1 -1
- package/dist/index199.js +158 -3
- package/dist/index199.js.map +1 -1
- package/dist/index20.js +12 -12
- package/dist/index200.js +84 -35
- package/dist/index200.js.map +1 -1
- package/dist/index202.js +3 -7
- package/dist/index202.js.map +1 -1
- package/dist/index203.js +3 -5
- package/dist/index203.js.map +1 -1
- package/dist/index204.js +32 -123
- package/dist/index204.js.map +1 -1
- package/dist/index205.js +6 -281
- package/dist/index205.js.map +1 -1
- package/dist/index206.js +7 -123
- package/dist/index206.js.map +1 -1
- package/dist/index207.js +2 -19
- package/dist/index207.js.map +1 -1
- package/dist/index208.js +126 -2
- package/dist/index208.js.map +1 -1
- package/dist/index209.js +5 -2
- package/dist/index209.js.map +1 -1
- package/dist/index210.js +119 -170
- package/dist/index210.js.map +1 -1
- package/dist/index211.js +19 -42
- package/dist/index211.js.map +1 -1
- package/dist/index212.js +5 -0
- package/dist/index212.js.map +1 -0
- package/dist/index213.js +2 -13
- package/dist/index213.js.map +1 -1
- package/dist/index214.js +158 -353
- package/dist/index214.js.map +1 -1
- package/dist/index215.js +42 -2
- package/dist/index215.js.map +1 -1
- package/dist/index217.js +13 -2
- package/dist/index217.js.map +1 -1
- package/dist/index218.js +360 -149
- package/dist/index218.js.map +1 -1
- package/dist/index219.js +2 -84
- package/dist/index219.js.map +1 -1
- package/dist/index22.js +5 -5
- package/dist/{index216.js → index220.js} +2 -2
- package/dist/{index216.js.map → index220.js.map} +1 -1
- package/dist/index221.js +2 -3
- package/dist/index221.js.map +1 -1
- package/dist/index222.js +2 -2
- package/dist/index223.js +2 -2
- package/dist/index224.js +2 -2
- package/dist/index225.js +2 -2
- package/dist/index227.js +2 -3
- package/dist/index227.js.map +1 -1
- package/dist/index228.js +3 -18
- package/dist/index228.js.map +1 -1
- package/dist/index229.js +2 -105
- package/dist/index229.js.map +1 -1
- package/dist/index230.js +21 -0
- package/dist/index230.js.map +1 -0
- package/dist/index231.js +53 -47
- package/dist/index231.js.map +1 -1
- package/dist/index233.js +100 -2
- package/dist/index233.js.map +1 -1
- package/dist/index237.js +9 -9
- package/dist/index237.js.map +1 -1
- package/dist/index238.js +23 -9
- package/dist/index238.js.map +1 -1
- package/dist/index239.js +6 -23
- package/dist/index239.js.map +1 -1
- package/dist/index24.js +1 -1
- package/dist/index240.js +16 -6
- package/dist/index240.js.map +1 -1
- package/dist/index241.js +9 -16
- package/dist/index241.js.map +1 -1
- package/dist/index242.js +3 -431
- package/dist/index242.js.map +1 -1
- package/dist/index243.js +11 -88
- package/dist/index243.js.map +1 -1
- package/dist/index244.js +9 -5
- package/dist/index244.js.map +1 -1
- package/dist/index245.js +9 -2
- package/dist/index245.js.map +1 -1
- package/dist/index246.js +15 -7
- package/dist/index246.js.map +1 -1
- package/dist/index247.js +224 -69
- package/dist/index247.js.map +1 -1
- package/dist/index248.js +420 -189
- package/dist/index248.js.map +1 -1
- package/dist/index249.js +88 -3
- package/dist/index249.js.map +1 -1
- package/dist/index250.js +280 -5
- package/dist/index250.js.map +1 -1
- package/dist/index251.js +6 -2
- package/dist/index251.js.map +1 -1
- package/dist/index252.js +2 -2
- package/dist/index253.js +2 -2
- package/dist/index254.js +2 -126
- package/dist/index254.js.map +1 -1
- package/dist/index255.js +126 -3
- package/dist/index255.js.map +1 -1
- package/dist/index256.js +6 -0
- package/dist/index256.js.map +1 -0
- package/dist/index258.js +7 -3
- package/dist/index258.js.map +1 -1
- package/dist/index259.js +3 -11
- package/dist/index259.js.map +1 -1
- package/dist/index26.js +3 -3
- package/dist/index260.js +2 -9
- package/dist/index260.js.map +1 -1
- package/dist/index261.js +67 -15
- package/dist/index261.js.map +1 -1
- package/dist/index262.js +191 -427
- package/dist/index262.js.map +1 -1
- package/dist/index263.js +5 -127
- package/dist/index263.js.map +1 -1
- package/dist/index264.js +431 -219
- package/dist/index264.js.map +1 -1
- package/dist/index265.js +127 -2
- package/dist/index265.js.map +1 -1
- package/dist/index269.js +2 -3
- package/dist/index269.js.map +1 -1
- package/dist/index270.js +28 -3
- package/dist/index270.js.map +1 -1
- package/dist/index271.js +3 -211
- package/dist/index271.js.map +1 -1
- package/dist/index272.js +6 -0
- package/dist/index272.js.map +1 -0
- package/dist/index273.js +209 -26
- package/dist/index273.js.map +1 -1
- package/dist/index278.js +15 -2
- package/dist/index278.js.map +1 -1
- package/dist/index279.js +34 -10
- package/dist/index279.js.map +1 -1
- package/dist/index28.js +2 -2
- package/dist/index280.js +10 -34
- package/dist/index280.js.map +1 -1
- package/dist/index281.js +2 -47
- package/dist/index281.js.map +1 -1
- package/dist/index282.js +50 -0
- package/dist/index282.js.map +1 -0
- package/dist/index284.js +416 -42
- package/dist/index284.js.map +1 -1
- package/dist/index285.js +50 -0
- package/dist/index285.js.map +1 -0
- package/dist/index30.js +2 -2
- package/dist/index32.js +3 -3
- package/dist/index34.js +13 -13
- package/dist/index36.js +4 -4
- package/dist/index38.js +2 -2
- package/dist/index40.js +2 -2
- package/dist/index42.js +6 -6
- package/dist/index44.js +2 -2
- package/dist/index46.js +2 -2
- package/dist/index52.js +1 -1
- package/dist/index54.js +1 -1
- package/dist/index70.js +4 -4
- package/dist/index74.js +2 -2
- package/dist/index76.js +1 -1
- package/dist/index79.js +2 -2
- package/dist/index81.js +1 -1
- package/dist/index83.js +3 -3
- package/dist/index85.js +1 -1
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/dist/index201.js +0 -9
- package/dist/index201.js.map +0 -1
- package/dist/index234.js +0 -6
- package/dist/index234.js.map +0 -1
- package/dist/index257.js +0 -10
- package/dist/index257.js.map +0 -1
- package/dist/index274.js +0 -18
- package/dist/index274.js.map +0 -1
- package/dist/index283.js +0 -424
- package/dist/index283.js.map +0 -1
|
@@ -13,6 +13,7 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<__
|
|
|
13
13
|
items: () => never[];
|
|
14
14
|
loadingText: string;
|
|
15
15
|
multiple: boolean;
|
|
16
|
+
modelValue: () => never[];
|
|
16
17
|
noDataText: string;
|
|
17
18
|
selectAllLabel: string;
|
|
18
19
|
selectText: string;
|
|
@@ -34,6 +35,7 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<__
|
|
|
34
35
|
items: () => never[];
|
|
35
36
|
loadingText: string;
|
|
36
37
|
multiple: boolean;
|
|
38
|
+
modelValue: () => never[];
|
|
37
39
|
noDataText: string;
|
|
38
40
|
selectAllLabel: string;
|
|
39
41
|
selectText: string;
|
|
@@ -49,6 +51,7 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<__
|
|
|
49
51
|
loadingText: string;
|
|
50
52
|
multiple: boolean;
|
|
51
53
|
noDataText: string;
|
|
54
|
+
modelValue: any;
|
|
52
55
|
items: any[] | ((prefill: boolean, modelValue?: any[] | undefined) => Promise<any[]>) | ((prefill: boolean, modelValue?: any[] | undefined) => any[]);
|
|
53
56
|
align: "left" | "center" | "right";
|
|
54
57
|
accessibleLabel: (columns: MappedCell[], item: any) => string;
|
package/dist/index105.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { defineComponent as oe, ref as x, computed as h, toRef as B, watch as ne, openBlock as n, createBlock as de, resolveDynamicComponent as ce, normalizeClass as r, unref as u, withCtx as ie, createElementBlock as d, toDisplayString as p, createCommentVNode as k, createElementVNode as s, renderSlot as f, createVNode as I, Fragment as w, renderList as T, createTextVNode as be, mergeProps as re } from "vue";
|
|
2
|
-
import { add as ue } from "./
|
|
3
|
-
import { clamp as pe } from "./
|
|
2
|
+
import { add as ue } from "./index260.js";
|
|
3
|
+
import { clamp as pe } from "./index207.js";
|
|
4
4
|
import { isNil as M } from "./index124.js";
|
|
5
5
|
import { useId as fe } from "./index7.js";
|
|
6
|
-
import { useItemValue as me } from "./
|
|
7
|
-
import { when as he } from "./
|
|
6
|
+
import { useItemValue as me } from "./index245.js";
|
|
7
|
+
import { when as he } from "./index220.js";
|
|
8
8
|
import J from "./index14.js";
|
|
9
9
|
/* empty css */
|
|
10
10
|
import ye from "./index28.js";
|
|
11
11
|
/* empty css */
|
|
12
|
-
import { useOptions as _e } from "./
|
|
12
|
+
import { useOptions as _e } from "./index199.js";
|
|
13
13
|
const ke = { key: 0 }, ve = { class: "bb-table-header-row" }, Ce = { class: "bb-table-header__content" }, ge = { class: "bb-table-check__label-text" }, we = {
|
|
14
14
|
key: 1,
|
|
15
15
|
class: "bb-table-radio__label-text"
|
|
@@ -47,7 +47,7 @@ const ke = { key: 0 }, ve = { class: "bb-table-header-row" }, Ce = { class: "bb-
|
|
|
47
47
|
legend: {},
|
|
48
48
|
loading: { type: Boolean },
|
|
49
49
|
loadingText: { default: "Caricamento" },
|
|
50
|
-
modelValue: {},
|
|
50
|
+
modelValue: { default: () => [] },
|
|
51
51
|
multiple: { type: Boolean, default: !0 },
|
|
52
52
|
name: {},
|
|
53
53
|
noDataText: { default: "Non ci sono elementi da visualizzare" },
|
package/dist/index105.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index105.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': !options.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=\"!options.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.valueHash\"\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.disabled\"\n\t\t\t\t\t\t\t\t:input-name=\"randomName\"\n\t\t\t\t\t\t\t\t:item=\"item.item\"\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.disabled,\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.disabled\"\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\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.disabled,\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.disabled\"\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.item\"\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.item\"\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 { isNil } from '@/utilities/functions/isNil';\nimport { computed, ref, toRef, 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 { useOptions } from '@/composables/useOptions';\nimport type { Option as BaseOption } from '@/types/Option';\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\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 * 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\nconst { options, selectOption, unselectOption, internalItems } = useOptions({\n\temit,\n\titemText: undefined,\n\titemValue: props.itemValue,\n\tmodelValue: toRef(props, 'modelValue'),\n\tmultiple: props.multiple,\n\tresetQueryOnOptionSelected: false,\n\tstash: false,\n\titems: toRef(props, 'items'),\n\tenforceCoherence: true,\n\tprefill: true,\n\tmodelValueDebounceTime: 0,\n\tdependencies: toRef(props, 'dependencies'),\n\tdepsDebounceTime: props.depsDebounceTime,\n\tqueryDebounceTime: 0,\n\tdisabled: toRef(props, 'disabled'),\n});\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 options.value.map((item: BaseOption): MappedItem => {\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 disabled = !props.selectable;\n\t\tif (typeof props.selectable === 'function') {\n\t\t\tdisabled = !props.selectable(item);\n\t\t}\n\t\tdisabled = disabled || !!item.disabled;\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.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.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.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.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\t\tconst accessibleLabelText = accessibleLabel(cols, item.item);\n\t\tconst res = {\n\t\t\taccessibleLabel: accessibleLabelText,\n\t\t\tcols,\n\t\t\tonRowClick: (event: MouseEvent) =>\n\t\t\t\temit('click:row', event, item, !!item.selected),\n\t\t\tonRowContextMenu: (event: MouseEvent) =>\n\t\t\t\temit('contextmenu:row', event, item, !!item.selected),\n\t\t\tonRowDblClick: (event: MouseEvent) =>\n\t\t\t\temit('dblclick:row', event, item, !!item.selected),\n\t\t\titem: item.item,\n\t\t\ttext: item.text,\n\t\t\tvalueHash: item.valueHash,\n\t\t\tvalue: item.value,\n\t\t\tselected: item.selected,\n\t\t\tdisabled,\n\t\t};\n\t\treturn res;\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.disabled) 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.disabled)\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\tif (item.selected) {\n\t\tunselectOption(item);\n\t} else {\n\t\tselectOption(item);\n\t}\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(options.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\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","slotNames","curr","mapped","options","selectOption","unselectOption","internalItems","useOptions","toRef","mappedHeaders","column","align","label","key","slotName","classes","mappedItems","item","disabled","cols","content","isNil","temp","event","onChangeSelectAll","value","selectAllValue","modelValue","allSelected","indeterminate","_a","onInputChange","makeInputValue","when","hiddenInputs","skeletonLength","clamp","watch","headers","mappedColumns","index","position","clientRect","width","offset","el","add","row","cell"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index105.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': !options.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=\"!options.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.valueHash\"\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.disabled\"\n\t\t\t\t\t\t\t\t:input-name=\"randomName\"\n\t\t\t\t\t\t\t\t:item=\"item.item\"\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.disabled,\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.disabled\"\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\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.disabled,\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.disabled\"\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.item\"\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.item\"\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 { isNil } from '@/utilities/functions/isNil';\nimport { computed, ref, toRef, 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 { useOptions } from '@/composables/useOptions';\nimport type { Option as BaseOption } from '@/types/Option';\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\tmultiple: true,\n\tmodelValue: () => [],\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 * 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\nconst { options, selectOption, unselectOption, internalItems } = useOptions({\n\temit,\n\titemText: undefined,\n\titemValue: props.itemValue,\n\tmodelValue: toRef(props, 'modelValue'),\n\tmultiple: props.multiple,\n\tresetQueryOnOptionSelected: false,\n\tstash: false,\n\titems: toRef(props, 'items'),\n\tenforceCoherence: true,\n\tprefill: true,\n\tmodelValueDebounceTime: 0,\n\tdependencies: toRef(props, 'dependencies'),\n\tdepsDebounceTime: props.depsDebounceTime,\n\tqueryDebounceTime: 0,\n\tdisabled: toRef(props, 'disabled'),\n});\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 options.value.map((item: BaseOption): MappedItem => {\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 disabled = !props.selectable;\n\t\tif (typeof props.selectable === 'function') {\n\t\t\tdisabled = !props.selectable(item);\n\t\t}\n\t\tdisabled = disabled || !!item.disabled;\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.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.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.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.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\t\tconst accessibleLabelText = accessibleLabel(cols, item.item);\n\t\tconst res = {\n\t\t\taccessibleLabel: accessibleLabelText,\n\t\t\tcols,\n\t\t\tonRowClick: (event: MouseEvent) =>\n\t\t\t\temit('click:row', event, item, !!item.selected),\n\t\t\tonRowContextMenu: (event: MouseEvent) =>\n\t\t\t\temit('contextmenu:row', event, item, !!item.selected),\n\t\t\tonRowDblClick: (event: MouseEvent) =>\n\t\t\t\temit('dblclick:row', event, item, !!item.selected),\n\t\t\titem: item.item,\n\t\t\ttext: item.text,\n\t\t\tvalueHash: item.valueHash,\n\t\t\tvalue: item.value,\n\t\t\tselected: item.selected,\n\t\t\tdisabled,\n\t\t};\n\t\treturn res;\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.disabled) 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.disabled)\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\tif (item.selected) {\n\t\tunselectOption(item);\n\t} else {\n\t\tselectOption(item);\n\t}\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(options.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\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","slotNames","curr","mapped","options","selectOption","unselectOption","internalItems","useOptions","toRef","mappedHeaders","column","align","label","key","slotName","classes","mappedItems","item","disabled","cols","content","isNil","temp","event","onChangeSelectAll","value","selectAllValue","modelValue","allSelected","indeterminate","_a","onInputChange","makeInputValue","when","hiddenInputs","skeletonLength","clamp","watch","headers","mappedColumns","index","position","clientRect","width","offset","el","add","row","cell"],"mappings":"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"}
|
package/dist/index113.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 f, Fragment as d, renderList as _, unref as r, mergeProps as b } from "vue";
|
|
2
2
|
import { state as k, useToast as C } from "./index10.js";
|
|
3
|
-
import B from "./
|
|
3
|
+
import B from "./index261.js";
|
|
4
4
|
const N = /* @__PURE__ */ s({
|
|
5
5
|
__name: "BbToast",
|
|
6
6
|
props: {
|
package/dist/index115.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { defineComponent as A, ref as o, computed as $, watch as I, openBlock as b, createElementBlock as D, mergeProps as L, createElementVNode as c, renderSlot as M, normalizeProps as R, guardReactiveProps as U, unref as u, createBlock as O, Teleport as W, normalizeClass as j, normalizeStyle as q, withCtx as G, createCommentVNode as P } from "vue";
|
|
2
|
-
import { useFloating as J, arrow as K } from "./
|
|
2
|
+
import { useFloating as J, arrow as K } from "./index208.js";
|
|
3
3
|
import { useId as Q } from "./index7.js";
|
|
4
4
|
import { wait as T } from "./index126.js";
|
|
5
5
|
import X from "./index12.js";
|
|
6
6
|
/* empty css */
|
|
7
|
-
import { throttle as w } from "./
|
|
8
|
-
import { waitFor as Y } from "./
|
|
9
|
-
import { autoUpdate as Z, flip as ee, shift as te, hide as oe } from "./
|
|
7
|
+
import { throttle as w } from "./index203.js";
|
|
8
|
+
import { waitFor as Y } from "./index205.js";
|
|
9
|
+
import { autoUpdate as Z, flip as ee, shift as te, hide as oe } from "./index218.js";
|
|
10
10
|
const ae = { class: "bb-tooltip__bubble" }, ne = /* @__PURE__ */ c("svg", {
|
|
11
11
|
fill: "none",
|
|
12
12
|
viewBox: "0 0 24 24",
|
package/dist/index117.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 k, renderList as h, normalizeClass as b, createElementVNode as s, renderSlot as t, createVNode as v, createSlots as B, withCtx as _, mergeProps as C } from "vue";
|
|
2
|
-
import { flattenTree as T } from "./
|
|
2
|
+
import { flattenTree as T } from "./index263.js";
|
|
3
3
|
const w = { class: "bb-tree-row" }, E = { class: "bb-tree-main-content" }, N = /* @__PURE__ */ $({
|
|
4
4
|
__name: "BbTree",
|
|
5
5
|
props: {
|
package/dist/index12.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent as y, getCurrentInstance as p, computed as s, resolveComponent as d, openBlock as k, createBlock as h, resolveDynamicComponent as C, mergeProps as x, withCtx as S, renderSlot as L, createTextVNode as B, toDisplayString as N } from "vue";
|
|
2
2
|
import { _config as o } from "./index3.js";
|
|
3
|
-
import { useLogger as m } from "./
|
|
3
|
+
import { useLogger as m } from "./index198.js";
|
|
4
4
|
const P = /* @__PURE__ */ y({
|
|
5
5
|
__name: "BaseButton",
|
|
6
6
|
props: {
|
package/dist/index121.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 "./index219.js";
|
|
3
3
|
const g = ["innerHTML"], $ = /* @__PURE__ */ m({
|
|
4
4
|
__name: "BbIcon",
|
|
5
5
|
props: {
|
package/dist/index122.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 "./index203.js";
|
|
3
3
|
const O = /* @__PURE__ */ v({
|
|
4
4
|
__name: "BbSmoothHeight",
|
|
5
5
|
props: {
|
package/dist/index123.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent as p, computed as l, openBlock as _, createElementBlock as a, normalizeProps as b, guardReactiveProps as x, createStaticVNode as m } from "vue";
|
|
2
|
-
import { isCssColor as d } from "./
|
|
2
|
+
import { isCssColor as d } from "./index219.js";
|
|
3
3
|
const u = /* @__PURE__ */ m('<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><circle class="bb-spinner__circle" cx="12" cy="3" r="0"></circle><circle class="bb-spinner__circle circle--1" cx="16.50" cy="4.21" r="0"></circle><circle class="bb-spinner__circle circle--2" cx="7.50" cy="4.21" r="0"></circle><circle class="bb-spinner__circle circle--3" cx="19.79" cy="7.50" r="0"></circle><circle class="bb-spinner__circle circle--4" cx="4.21" cy="7.50" r="0"></circle><circle class="bb-spinner__circle circle--5" cx="21.00" cy="12.00" r="0"></circle><circle class="bb-spinner__circle circle--6" cx="3.00" cy="12.00" r="0"></circle><circle class="bb-spinner__circle circle--7" cx="19.79" cy="16.50" r="0"></circle><circle class="bb-spinner__circle circle--8" cx="4.21" cy="16.50" r="0"></circle><circle class="bb-spinner__circle circle--9" cx="16.50" cy="19.79" r="0"></circle><circle class="bb-spinner__circle circle--10" cx="7.50" cy="19.79" r="0"></circle><circle class="bb-spinner__circle circle--11" cx="12" cy="21" r="0"></circle></svg>', 1), y = [
|
|
4
4
|
u
|
|
5
5
|
], g = /* @__PURE__ */ p({
|
package/dist/index125.js
CHANGED
package/dist/index128.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isArray as b, isPlainObject as m } from "./
|
|
1
|
+
import { isArray as b, isPlainObject as m } from "./index278.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/index14.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 s, renderSlot as q } from "vue";
|
|
2
|
-
import { isCssColor as k } from "./
|
|
3
|
-
import { when as F } from "./
|
|
4
|
-
import { booleanishToBoolean as N } from "./
|
|
2
|
+
import { isCssColor as k } from "./index219.js";
|
|
3
|
+
import { when as F } from "./index220.js";
|
|
4
|
+
import { booleanishToBoolean as N } from "./index221.js";
|
|
5
5
|
const S = {
|
|
6
6
|
"aria-hidden": "true",
|
|
7
7
|
class: "bb-base-checkbox-container"
|
package/dist/index16.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { defineComponent as $, ref as p, toRef as l, openBlock as B, createBlock as w, unref as f, withCtx as i, renderSlot as s, normalizeProps as b, guardReactiveProps as h, createVNode as O, mergeProps as v } from "vue";
|
|
2
|
-
import { useOptions as z } from "./
|
|
2
|
+
import { useOptions as z } from "./index199.js";
|
|
3
3
|
import F from "./index14.js";
|
|
4
4
|
/* empty css */
|
|
5
|
-
import M from "./
|
|
5
|
+
import M from "./index200.js";
|
|
6
6
|
/* empty css */
|
|
7
7
|
const G = /* @__PURE__ */ $({
|
|
8
8
|
__name: "BaseCheckboxGroup",
|
package/dist/index18.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 "./
|
|
2
|
+
import i from "./index209.js";
|
|
3
3
|
import Me from "./index222.js";
|
|
4
4
|
import Ae from "./index223.js";
|
|
5
|
-
import xe from "./
|
|
5
|
+
import xe from "./index211.js";
|
|
6
6
|
import Ce from "./index224.js";
|
|
7
7
|
import Ye from "./index225.js";
|
|
8
8
|
import { groupBy as J } from "./index226.js";
|
|
9
9
|
import { isNil as Be } from "./index124.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/index198.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
const
|
|
1
|
+
const o = "bitboss-ui | ", e = () => ({
|
|
2
|
+
warn: (r) => console.warn(`${o}${r}`),
|
|
3
|
+
error: (r) => console.error(`${o}${r}`)
|
|
4
|
+
});
|
|
2
5
|
export {
|
|
3
|
-
|
|
6
|
+
e as useLogger
|
|
4
7
|
};
|
|
5
8
|
//# sourceMappingURL=index198.js.map
|
package/dist/index198.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index198.js","sources":["../src/
|
|
1
|
+
{"version":3,"file":"index198.js","sources":["../src/composables/useLogger.ts"],"sourcesContent":["const prefix = `bitboss-ui | `;\n\nexport const useLogger = () => {\n\treturn {\n\t\twarn: (message: string) => console.warn(`${prefix}${message}`),\n\t\terror: (message: string) => console.error(`${prefix}${message}`),\n\t};\n};\n"],"names":["prefix","useLogger","message"],"mappings":"AAAA,MAAMA,IAAS,iBAEFC,IAAY,OACjB;AAAA,EACN,MAAM,CAACC,MAAoB,QAAQ,KAAK,GAAGF,CAAM,GAAGE,CAAO,EAAE;AAAA,EAC7D,OAAO,CAACA,MAAoB,QAAQ,MAAM,GAAGF,CAAM,GAAGE,CAAO,EAAE;AAAA;"}
|
package/dist/index199.js
CHANGED
|
@@ -1,6 +1,161 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import { ref as r, computed as a, onBeforeMount as X, onBeforeUnmount as Y, watch as H, nextTick as Z } from "vue";
|
|
2
|
+
import { last as _ } from "./index213.js";
|
|
3
|
+
import { useArray as N } from "./index243.js";
|
|
4
|
+
import { uniqBy as $ } from "./index244.js";
|
|
5
|
+
import { useItemValue as ee } from "./index245.js";
|
|
6
|
+
import { useItemText as te } from "./index246.js";
|
|
7
|
+
import { hash as v } from "./index228.js";
|
|
8
|
+
import { isNotNil as Q } from "./index129.js";
|
|
9
|
+
import { waitFor as le } from "./index205.js";
|
|
10
|
+
import { isNil as oe } from "./index124.js";
|
|
11
|
+
const he = (l) => {
|
|
12
|
+
const i = r(""), q = r(), n = (e) => {
|
|
13
|
+
q.value = e, l.emit("update:modelValue", e);
|
|
14
|
+
}, d = r([]), {
|
|
15
|
+
array: F,
|
|
16
|
+
add: k,
|
|
17
|
+
remove: E,
|
|
18
|
+
set: y
|
|
19
|
+
} = N(), {
|
|
20
|
+
array: S,
|
|
21
|
+
add: P,
|
|
22
|
+
remove: j
|
|
23
|
+
} = N(), { getItemText: J } = te(), { getItemValue: L } = ee(), O = (e) => {
|
|
24
|
+
const t = !!(l.disabled.value || e.disabled), o = J(e, l.itemText), u = L(e, l.itemValue);
|
|
25
|
+
if (u === void 0)
|
|
26
|
+
throw new Error(
|
|
27
|
+
'The result of extracting "value" from option was undefined. Affected item is ' + JSON.stringify(e) + " please check itemValue property is correct."
|
|
28
|
+
);
|
|
29
|
+
const W = v(u);
|
|
30
|
+
return {
|
|
31
|
+
item: e,
|
|
32
|
+
text: o,
|
|
33
|
+
value: u,
|
|
34
|
+
valueHash: W,
|
|
35
|
+
disabled: t,
|
|
36
|
+
selected: !1
|
|
37
|
+
};
|
|
38
|
+
}, T = (e) => (e.selected = Q(b.value[e.valueHash]), e), V = a(() => {
|
|
39
|
+
const e = [].concat(
|
|
40
|
+
d.value.map((t) => T(O(t))),
|
|
41
|
+
S.value.map(T),
|
|
42
|
+
F.value.map(T)
|
|
43
|
+
);
|
|
44
|
+
return $(e, (t) => t.valueHash);
|
|
45
|
+
}), U = (e) => {
|
|
46
|
+
l.multiple ? (n(l.modelValue.value.concat(e.value)), l.stash && k(e), l.resetQueryOnOptionSelected && s()) : (l.stash && y(e), n(e.value), Z(() => s()));
|
|
47
|
+
}, z = (e) => {
|
|
48
|
+
if (j((t) => t.valueHash !== e.valueHash), E((t) => t.valueHash !== e.valueHash), l.multiple) {
|
|
49
|
+
const t = { ...b.value };
|
|
50
|
+
delete t[e.valueHash], n(Object.values(t));
|
|
51
|
+
} else
|
|
52
|
+
n(null), s();
|
|
53
|
+
}, b = a(() => {
|
|
54
|
+
const e = {}, t = [].concat(l.modelValue.value);
|
|
55
|
+
for (let o = 0; o < t.length; o++) {
|
|
56
|
+
const u = t[o];
|
|
57
|
+
e[v(u)] = u;
|
|
58
|
+
}
|
|
59
|
+
return e;
|
|
60
|
+
}), g = async ({ prefill: e = !1 }) => {
|
|
61
|
+
let t = [];
|
|
62
|
+
if (Array.isArray(l.items.value))
|
|
63
|
+
t = l.items.value;
|
|
64
|
+
else if (typeof l.items.value == "function") {
|
|
65
|
+
const o = ++c.value;
|
|
66
|
+
try {
|
|
67
|
+
t = await l.items.value(
|
|
68
|
+
i.value,
|
|
69
|
+
e,
|
|
70
|
+
l.modelValue.value
|
|
71
|
+
), o < c.value && (await le(() => o === c.value), t = d.value);
|
|
72
|
+
} catch (u) {
|
|
73
|
+
console.error(u);
|
|
74
|
+
}
|
|
75
|
+
c.value--;
|
|
76
|
+
}
|
|
77
|
+
d.value = t;
|
|
78
|
+
}, B = a(() => {
|
|
79
|
+
const e = {};
|
|
80
|
+
for (let t = 0; t < V.value.length; t++) {
|
|
81
|
+
const o = V.value[t], { valueHash: u } = o;
|
|
82
|
+
e[u] = o;
|
|
83
|
+
}
|
|
84
|
+
return {
|
|
85
|
+
get: (t) => e[v(t)]
|
|
86
|
+
};
|
|
87
|
+
}), f = a(() => [].concat(l.modelValue.value).reduce((e, t) => {
|
|
88
|
+
const o = B.value.get(t);
|
|
89
|
+
return o && e.push(o), e;
|
|
90
|
+
}, [])), C = (e) => Q(B.value.get(e)), s = () => {
|
|
91
|
+
if (l.multiple) {
|
|
92
|
+
i.value = "";
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
let e;
|
|
96
|
+
f.value && (e = _(f.value)), i.value = (e == null ? void 0 : e.text) || "";
|
|
97
|
+
}, G = () => {
|
|
98
|
+
const e = i.value.trim(), t = O(e);
|
|
99
|
+
P(t), s();
|
|
100
|
+
}, c = r(0), M = a(() => [].concat(l.modelValue.value).reduce(
|
|
101
|
+
(e, t) => (C(t) ? e.coherent.push(t) : e.incoherent.push(t), e),
|
|
102
|
+
{ coherent: [], incoherent: [] }
|
|
103
|
+
)), A = a(() => l.multiple && !l.modelValue.value.length || !l.multiple && oe(l.modelValue.value) ? !0 : !M.value.incoherent.length), K = () => {
|
|
104
|
+
l.enforceCoherence && !A.value && (l.multiple ? n(M.value.coherent) : n(null));
|
|
105
|
+
}, p = r(!1), I = r(!1), m = async () => {
|
|
106
|
+
I.value = !0, await g({ prefill: !0 }), K(), s(), p.value = !0, I.value = !1;
|
|
107
|
+
};
|
|
108
|
+
X(async () => {
|
|
109
|
+
l.prefill && (await m(), l.stash && y(...f.value));
|
|
110
|
+
});
|
|
111
|
+
let h;
|
|
112
|
+
const R = () => {
|
|
113
|
+
h && clearTimeout(h), h = setTimeout(async () => {
|
|
114
|
+
try {
|
|
115
|
+
await g({ prefill: !1 });
|
|
116
|
+
} catch (e) {
|
|
117
|
+
console.error(e);
|
|
118
|
+
}
|
|
119
|
+
}, l.queryDebounceTime);
|
|
120
|
+
};
|
|
121
|
+
Y(() => clearTimeout(h));
|
|
122
|
+
let x;
|
|
123
|
+
H(
|
|
124
|
+
() => l.modelValue.value,
|
|
125
|
+
() => {
|
|
126
|
+
A.value || (x && clearTimeout(x), x = setTimeout(async () => {
|
|
127
|
+
m();
|
|
128
|
+
}, l.modelValueDebounceTime));
|
|
129
|
+
}
|
|
130
|
+
);
|
|
131
|
+
let w;
|
|
132
|
+
const D = async (e, t) => {
|
|
133
|
+
v(t) !== v(e) && p.value && (w && clearTimeout(w), w = setTimeout(async () => {
|
|
134
|
+
await m();
|
|
135
|
+
}, l.depsDebounceTime));
|
|
136
|
+
};
|
|
137
|
+
return H(() => l.items.value, D), H(() => l.dependencies.value, D), {
|
|
138
|
+
addCurrentQueryToManualItems: G,
|
|
139
|
+
alignQueryToState: s,
|
|
140
|
+
getOptions: g,
|
|
141
|
+
hasPrefilled: p,
|
|
142
|
+
innerLoading: c,
|
|
143
|
+
isPrefilling: I,
|
|
144
|
+
manualItems: S,
|
|
145
|
+
options: V,
|
|
146
|
+
prefillItems: m,
|
|
147
|
+
query: i,
|
|
148
|
+
searchByQuery: R,
|
|
149
|
+
selectedOptions: f,
|
|
150
|
+
selectOption: U,
|
|
151
|
+
setStash: y,
|
|
152
|
+
unselectOption: z,
|
|
153
|
+
updateModelValue: n,
|
|
154
|
+
valueIsSelected: C,
|
|
155
|
+
internalItems: d
|
|
156
|
+
};
|
|
157
|
+
};
|
|
3
158
|
export {
|
|
4
|
-
|
|
159
|
+
he as useOptions
|
|
5
160
|
};
|
|
6
161
|
//# sourceMappingURL=index199.js.map
|
package/dist/index199.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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;"}
|
|
1
|
+
{"version":3,"file":"index199.js","sources":["../src/composables/useOptions.ts"],"sourcesContent":["import {\n\tcomputed,\n\tnextTick,\n\tonBeforeMount,\n\tonBeforeUnmount,\n\tref,\n\twatch,\n\ttype Ref,\n} from 'vue';\nimport type { Option as BaseOption } from '@/types/Option';\nimport { last } from '@/utilities/functions/last';\nimport { useArray } from './useArray';\nimport { uniqBy } from '@/utilities/functions/uniqBy';\nimport { useItemValue } from './useItemValue';\nimport { useItemText } from './useItemText';\nimport { hash } from '@/utilities/functions/hash';\nimport { isNotNil } from '@/utilities/functions/isNotNil';\nimport { waitFor } from '@/utilities/functions/waitFor';\nimport { isNil } from '@/utilities/functions/isNil';\n\ntype Options = {\n\tmultiple: boolean;\n\tstash: boolean;\n\titemText: string | ((item: any) => string) | undefined;\n\titemValue: string | ((item: any) => string) | undefined;\n\tmodelValue: Ref<any>;\n\tresetQueryOnOptionSelected: boolean;\n\temit: any;\n\titems: Ref<any>;\n\tenforceCoherence: boolean;\n\tprefill: boolean;\n\tmodelValueDebounceTime: number;\n\tdepsDebounceTime: number;\n\tdependencies: Ref<any[]>;\n\tqueryDebounceTime: number;\n\tdisabled: Ref<boolean>;\n};\n\nexport const useOptions = (params: Options) => {\n\tconst query = ref<string>('');\n\n\tconst lastEmittedValue = ref();\n\tconst updateModelValue = (value: any) => {\n\t\tlastEmittedValue.value = value;\n\t\tparams.emit('update:modelValue', value);\n\t};\n\n\tconst internalItems = ref<any[]>([]);\n\tconst {\n\t\tarray: innerStash,\n\t\tadd: addToStash,\n\t\tremove: removeFromStash,\n\t\tset: setStash,\n\t} = useArray<BaseOption>();\n\n\tconst {\n\t\tarray: manualItems,\n\t\tadd: addToManualItems,\n\t\tremove: removeFromManualItems,\n\t} = useArray<BaseOption>();\n\n\tconst { getItemText } = useItemText();\n\tconst { getItemValue } = useItemValue();\n\tconst createOption = (item: any): BaseOption => {\n\t\tconst disabled = !!(params.disabled.value || item.disabled);\n\t\tconst text = getItemText(item, params.itemText);\n\t\tconst value = getItemValue(item, params.itemValue);\n\n\t\t// Undefined is not supported\n\t\tif (value === undefined)\n\t\t\tthrow new Error(\n\t\t\t\t'The result of extracting \"value\" from option was undefined. Affected item is ' +\n\t\t\t\t\tJSON.stringify(item) +\n\t\t\t\t\t' please check itemValue property is correct.'\n\t\t\t);\n\t\tconst valueHash = hash(value);\n\t\tconst selected = false;\n\t\treturn {\n\t\t\titem,\n\t\t\ttext,\n\t\t\tvalue,\n\t\t\tvalueHash,\n\t\t\tdisabled,\n\t\t\tselected,\n\t\t};\n\t};\n\n\tconst setSelected = (o: BaseOption) => {\n\t\to.selected = isNotNil(modelValueIndexedByHash.value[o.valueHash]);\n\t\treturn o;\n\t};\n\tconst options = computed<BaseOption[]>(() => {\n\t\tconst base = ([] as BaseOption[]).concat(\n\t\t\tinternalItems.value.map((item) => {\n\t\t\t\treturn setSelected(createOption(item));\n\t\t\t}),\n\t\t\tmanualItems.value.map(setSelected),\n\t\t\tinnerStash.value.map(setSelected)\n\t\t);\n\t\treturn uniqBy(base, (o) => o.valueHash);\n\t});\n\n\tconst selectOption = (option: BaseOption) => {\n\t\tif (params.multiple) {\n\t\t\tupdateModelValue(params.modelValue.value.concat(option.value));\n\t\t\tif (params.stash) {\n\t\t\t\taddToStash(option);\n\t\t\t}\n\n\t\t\tif (params.resetQueryOnOptionSelected) {\n\t\t\t\talignQueryToState();\n\t\t\t}\n\t\t} else {\n\t\t\tif (params.stash) {\n\t\t\t\tsetStash(option);\n\t\t\t}\n\t\t\tupdateModelValue(option.value);\n\t\t\tnextTick(() => alignQueryToState());\n\t\t}\n\t};\n\tconst unselectOption = (option: BaseOption) => {\n\t\tremoveFromManualItems((o) => o.valueHash !== option.valueHash);\n\t\tremoveFromStash((o) => o.valueHash !== option.valueHash);\n\t\tif (params.multiple) {\n\t\t\tconst copy = { ...modelValueIndexedByHash.value };\n\t\t\tdelete copy[option.valueHash];\n\t\t\tupdateModelValue(Object.values(copy));\n\t\t} else {\n\t\t\tupdateModelValue(null);\n\t\t\talignQueryToState();\n\t\t}\n\t};\n\n\t/**\n\t * Indexes modelValue to a map of hash - value pairs so we can easily track which values are selected\n\t */\n\tconst modelValueIndexedByHash = computed(() => {\n\t\tconst map: Record<string, any> = {};\n\t\tconst arr = [].concat(params.modelValue.value);\n\t\tfor (let index = 0; index < arr.length; index++) {\n\t\t\tconst element = arr[index];\n\t\t\tmap[hash(element)] = element;\n\t\t}\n\t\treturn map;\n\t});\n\n\tconst getOptions = async ({ prefill = false }) => {\n\t\tlet items: any[] = [];\n\t\tif (Array.isArray(params.items.value)) {\n\t\t\titems = params.items.value;\n\t\t} else {\n\t\t\tif (typeof params.items.value === 'function') {\n\t\t\t\tconst order = ++innerLoading.value;\n\t\t\t\ttry {\n\t\t\t\t\titems = await params.items.value(\n\t\t\t\t\t\tquery.value,\n\t\t\t\t\t\tprefill,\n\t\t\t\t\t\tparams.modelValue.value\n\t\t\t\t\t);\n\t\t\t\t\t// If by the time this resolves another call has already been made discard this result\n\t\t\t\t\tif (order < innerLoading.value) {\n\t\t\t\t\t\tawait waitFor(() => order === innerLoading.value);\n\t\t\t\t\t\titems = internalItems.value;\n\t\t\t\t\t}\n\t\t\t\t} catch (error) {\n\t\t\t\t\tconsole.error(error);\n\t\t\t\t}\n\t\t\t\tinnerLoading.value--;\n\t\t\t}\n\t\t}\n\t\tinternalItems.value = items as any;\n\t};\n\n\t/**\n\t * Indexes options by their hash so they can be retrieved\n\t */\n\tconst optionsIndexedByHash = computed(() => {\n\t\tconst map: Record<string, BaseOption> = {};\n\t\tfor (let index = 0; index < options.value.length; index++) {\n\t\t\tconst element = options.value[index];\n\t\t\tconst { valueHash } = element;\n\t\t\tmap[valueHash] = element;\n\t\t}\n\t\treturn {\n\t\t\tget: (value: any) => {\n\t\t\t\treturn map[hash(value)];\n\t\t\t},\n\t\t};\n\t});\n\n\t/**\n\t * For every item in modelValue find the linked option if it exists.\n\t * This is used to display chips.\n\t */\n\tconst selectedOptions = computed(() => {\n\t\treturn [].concat(params.modelValue.value).reduce((acc, h) => {\n\t\t\tconst found = optionsIndexedByHash.value.get(h);\n\t\t\tif (found) {\n\t\t\t\tacc.push(found);\n\t\t\t}\n\t\t\treturn acc;\n\t\t}, [] as BaseOption[]);\n\t});\n\n\tconst valueIsSelected = (value: any) =>\n\t\tisNotNil(optionsIndexedByHash.value.get(value));\n\n\tconst alignQueryToState = () => {\n\t\tif (params.multiple) {\n\t\t\tquery.value = '';\n\t\t\treturn;\n\t\t}\n\t\tlet option: BaseOption | undefined;\n\t\tif (selectedOptions.value) {\n\t\t\toption = last(selectedOptions.value);\n\t\t}\n\t\tquery.value = option?.text || '';\n\t};\n\n\t/**\n\t * Add an option to the manual items and then reset the query\n\t */\n\tconst addCurrentQueryToManualItems = () => {\n\t\tconst text = query.value.trim();\n\t\tconst option = createOption(text);\n\t\taddToManualItems(option);\n\t\talignQueryToState();\n\t};\n\n\t/**\n\t * Use a number accumulator because if the fn takes 5 seconds\n\t * and after 2 seconds another search is run\n\t * When the first returns the second is still out for 2 seconds\n\t * and we want to track them both.\n\t * Debounce will not be enough.\n\t */\n\tconst innerLoading = ref(0);\n\n\t/**\n\t * Coherent values are values that have an option they can be linked to.\n\t * Divide coherent and incoherent values.\n\t */\n\n\tconst coherenceStatus = computed(() => {\n\t\treturn [].concat(params.modelValue.value).reduce(\n\t\t\t(acc, curr) => {\n\t\t\t\tif (valueIsSelected(curr)) {\n\t\t\t\t\tacc.coherent.push(curr);\n\t\t\t\t} else {\n\t\t\t\t\tacc.incoherent.push(curr);\n\t\t\t\t}\n\t\t\t\treturn acc;\n\t\t\t},\n\t\t\t{ coherent: [], incoherent: [] }\n\t\t);\n\t});\n\n\t/**\n\t * Model value is considered coherent when:\n\t * - multiple mode is empty\n\t * - single mode is null\n\t */\n\tconst modelValueIsCoherent = computed(() => {\n\t\tif (params.multiple && !params.modelValue.value.length) return true;\n\t\telse if (!params.multiple && isNil(params.modelValue.value)) return true;\n\t\treturn !coherenceStatus.value.incoherent.length;\n\t});\n\n\t/**\n\t * Realign selection state to the passed settings.\n\t * If modelValue has any value that is not coherent while\n\t * coherence is enforced the value should be removed\n\t */\n\tconst alignToCoherenceSettings = () => {\n\t\tif (params.enforceCoherence && !modelValueIsCoherent.value) {\n\t\t\tif (!params.multiple) updateModelValue(null);\n\t\t\telse updateModelValue(coherenceStatus.value.coherent);\n\t\t}\n\t};\n\n\t/**\n\t * Prefilling is the phase where the component understands it needs\n\t * to update its inner items due to a change in state, whether dependencies have changed, items or modelValue have changed.\n\t * It can be intended as the component aligning itself to what state is passed to it.\n\t */\n\tconst hasPrefilled = ref(false);\n\tconst isPrefilling = ref(false);\n\tconst prefillItems = async () => {\n\t\tisPrefilling.value = true;\n\t\tawait getOptions({ prefill: true });\n\t\talignToCoherenceSettings();\n\t\talignQueryToState();\n\t\thasPrefilled.value = true;\n\t\tisPrefilling.value = false;\n\t};\n\n\tonBeforeMount(async () => {\n\t\tif (params.prefill) {\n\t\t\tawait prefillItems();\n\t\t\tif (params.stash) {\n\t\t\t\tsetStash(...selectedOptions.value);\n\t\t\t}\n\t\t}\n\t});\n\n\t/**\n\t * Triggered on input when items is a function.\n\t */\n\n\tlet timeout: ReturnType<typeof setTimeout>;\n\tconst searchByQuery = () => {\n\t\tif (timeout) clearTimeout(timeout);\n\t\ttimeout = setTimeout(async () => {\n\t\t\ttry {\n\t\t\t\tawait getOptions({ prefill: false });\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error(error);\n\t\t\t}\n\t\t}, params.queryDebounceTime);\n\t};\n\tonBeforeUnmount(() => clearTimeout(timeout));\n\n\t/**\n\t * When modelValue changes split behavior for single and multiple selection:\n\t */\n\tlet modelValueTimeout: ReturnType<typeof setTimeout>;\n\twatch(\n\t\t() => params.modelValue.value,\n\t\t() => {\n\t\t\tif (modelValueIsCoherent.value) return;\n\t\t\tif (modelValueTimeout) clearTimeout(modelValueTimeout);\n\t\t\tmodelValueTimeout = setTimeout(async () => {\n\t\t\t\tprefillItems();\n\t\t\t}, params.modelValueDebounceTime);\n\t\t}\n\t);\n\n\t/**\n\t * START DEPENDENCY HANDLING\n\t * Explicit dependencies (props.dependencies) and implicit dependencies (props.items)\n\t * need to trigger a pipeline of realignment whenever they change\n\t */\n\tlet depsTimeout: ReturnType<typeof setTimeout>;\n\n\tconst handleDependencyChange = async (current: any, previous: any) => {\n\t\t// Circumvent arrays defined in the template by the parent triggering the watcher\n\t\tif (hash(previous) === hash(current)) return;\n\t\t// Do not track until prefill completes\n\t\tif (!hasPrefilled.value) return;\n\t\tif (depsTimeout) clearTimeout(depsTimeout);\n\t\tdepsTimeout = setTimeout(async () => {\n\t\t\tawait prefillItems();\n\t\t}, params.depsDebounceTime);\n\t};\n\n\t/**\n\t * This is triggered to refresh static items whenever the passed array changes.\n\t * If the parent defines an array in the template this is triggered\n\t * at every render so we take counter measures\n\t * Even if the entire array changes all the previously selected values are still in the stash.\n\t */\n\twatch(() => params.items.value, handleDependencyChange);\n\n\t/**\n\t * When dependencies change\n\t * If the input has not been prefilled yet just return\n\t * Check dependencies are the same by value and not reference\n\t * Otherwise we search again for options as they might be different base on dependencies.\n\t * If coherence is enforced we set the state accordingly\n\t */\n\twatch(() => params.dependencies.value, handleDependencyChange);\n\n\t/**\n\t * END DEPENDENCIES HANDLING\n\t */\n\n\treturn {\n\t\taddCurrentQueryToManualItems,\n\t\talignQueryToState,\n\t\tgetOptions,\n\t\thasPrefilled,\n\t\tinnerLoading,\n\t\tisPrefilling,\n\t\tmanualItems,\n\t\toptions,\n\t\tprefillItems,\n\t\tquery,\n\t\tsearchByQuery,\n\t\tselectedOptions,\n\t\tselectOption,\n\t\tsetStash,\n\t\tunselectOption,\n\t\tupdateModelValue,\n\t\tvalueIsSelected,\n\t\tinternalItems,\n\t};\n};\n"],"names":["useOptions","params","query","ref","lastEmittedValue","updateModelValue","value","internalItems","innerStash","addToStash","removeFromStash","setStash","useArray","manualItems","addToManualItems","removeFromManualItems","getItemText","useItemText","getItemValue","useItemValue","createOption","item","disabled","text","valueHash","hash","setSelected","o","isNotNil","modelValueIndexedByHash","options","computed","base","uniqBy","selectOption","option","alignQueryToState","nextTick","unselectOption","copy","map","arr","index","element","getOptions","prefill","items","order","innerLoading","waitFor","error","optionsIndexedByHash","selectedOptions","acc","h","found","valueIsSelected","last","addCurrentQueryToManualItems","coherenceStatus","curr","modelValueIsCoherent","isNil","alignToCoherenceSettings","hasPrefilled","isPrefilling","prefillItems","onBeforeMount","timeout","searchByQuery","onBeforeUnmount","modelValueTimeout","watch","depsTimeout","handleDependencyChange","current","previous"],"mappings":"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"}
|
package/dist/index20.js
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import { defineComponent as re, ref as n, computed as b, watch as le, openBlock as L, createBlock as F, normalizeClass as z, withCtx as l, renderSlot as d, createVNode as P, withDirectives as ie, createElementVNode as r, mergeProps as W, unref as v, toDisplayString as j, Teleport as se, normalizeStyle as ue, createSlots as de, renderList as ce, normalizeProps as pe, guardReactiveProps as fe, createCommentVNode as me } from "vue";
|
|
2
|
-
import { useFloating as be } from "./
|
|
3
|
-
import o from "./
|
|
4
|
-
import ve from "./
|
|
5
|
-
import ge from "./
|
|
6
|
-
import { identity as ye } from "./
|
|
7
|
-
import { last as ke } from "./
|
|
8
|
-
import { useFocusTrap as he } from "./
|
|
2
|
+
import { useFloating as be } from "./index208.js";
|
|
3
|
+
import o from "./index209.js";
|
|
4
|
+
import ve from "./index210.js";
|
|
5
|
+
import ge from "./index211.js";
|
|
6
|
+
import { identity as ye } from "./index212.js";
|
|
7
|
+
import { last as ke } from "./index213.js";
|
|
8
|
+
import { useFocusTrap as he } from "./index204.js";
|
|
9
9
|
import { useId as Me } from "./index7.js";
|
|
10
10
|
import { useIntersectionObserver as we } from "./index127.js";
|
|
11
11
|
import { useMobile as Ve } from "./index8.js";
|
|
12
|
-
import { vMaska as Ce } from "./
|
|
12
|
+
import { vMaska as Ce } from "./index214.js";
|
|
13
13
|
import { wait as S } from "./index126.js";
|
|
14
|
-
import { waitFor as _e } from "./
|
|
14
|
+
import { waitFor as _e } from "./index205.js";
|
|
15
15
|
import Ye from "./index18.js";
|
|
16
16
|
/* empty css */
|
|
17
|
-
import De from "./
|
|
17
|
+
import De from "./index215.js";
|
|
18
18
|
/* empty css */
|
|
19
|
-
import Ae from "./
|
|
20
|
-
import { autoUpdate as Se, flip as $e, offset as Oe, shift as Be, hide as Ee } from "./
|
|
19
|
+
import Ae from "./index217.js";
|
|
20
|
+
import { autoUpdate as Se, flip as $e, offset as Oe, shift as Be, hide as Ee } from "./index218.js";
|
|
21
21
|
const Ie = ["id", "aria-describedby", "autocomplete", "autofocus", "data-maska", "disabled", "inputmode", "name", "placeholder", "readonly", "required", "value"], Le = ["disabled"], Fe = /* @__PURE__ */ r("svg", {
|
|
22
22
|
fill: "none",
|
|
23
23
|
viewBox: "0 0 16 16",
|