@pequity/squirrel 1.2.4 → 1.2.5
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/cjs/chunks/p-select-btn.js +29 -25
- package/dist/cjs/index.js +2 -2
- package/dist/es/chunks/p-select-btn.js +30 -26
- package/dist/es/index.js +2 -2
- package/dist/squirrel/components/p-action-bar/p-action-bar.types.d.ts +12 -5
- package/dist/squirrel/components/p-action-bar/p-action-bar.vue.d.ts +2 -2
- package/dist/style.css +6 -6
- package/package.json +22 -22
- package/squirrel/components/p-action-bar/p-action-bar.types.ts +13 -5
- package/squirrel/components/p-select-btn/p-select-btn.spec.js +17 -6
- package/squirrel/components/p-select-btn/p-select-btn.stories.js +1 -1
- package/squirrel/components/p-select-btn/p-select-btn.vue +20 -16
- package/squirrel/components/p-table/p-table.vue +1 -1
|
@@ -59,34 +59,38 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
59
59
|
return (_ctx, _cache) => {
|
|
60
60
|
const _directive_tooltip = vue.resolveDirective("tooltip");
|
|
61
61
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
62
|
-
class: vue.normalizeClass({ flex: _ctx.grow
|
|
62
|
+
class: vue.normalizeClass({ flex: _ctx.grow })
|
|
63
63
|
}, [
|
|
64
64
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.items, (item, index) => {
|
|
65
|
-
return vue.withDirectives((vue.openBlock(), vue.
|
|
65
|
+
return vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
|
|
66
66
|
key: item[_ctx.itemValue],
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
"
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
67
|
+
class: vue.normalizeClass(["inline-flex", { "*:px-0 *:py-0": _ctx.noPadding, grow: _ctx.grow }])
|
|
68
|
+
}, [
|
|
69
|
+
vue.createVNode(pBtn, {
|
|
70
|
+
size: _ctx.size,
|
|
71
|
+
type: "secondary-outline-blue",
|
|
72
|
+
disabled: item.disabled,
|
|
73
|
+
class: vue.normalizeClass({
|
|
74
|
+
"rounded-none": index !== 0 && index !== _ctx.items.length - 1,
|
|
75
|
+
"rounded-br-none rounded-tr-none": index === 0,
|
|
76
|
+
"rounded-bl-none rounded-tl-none": index === _ctx.items.length - 1,
|
|
77
|
+
"-mr-0.5": index !== _ctx.items.length - 1,
|
|
78
|
+
"flex-1": _ctx.grow
|
|
79
|
+
}),
|
|
80
|
+
selected: isSelected(item) && _ctx.highlightSelected,
|
|
81
|
+
onClick: ($event) => select(item)
|
|
82
|
+
}, {
|
|
83
|
+
default: vue.withCtx(() => [
|
|
84
|
+
vue.renderSlot(_ctx.$slots, `btn-${index}`, {
|
|
85
|
+
item,
|
|
86
|
+
isSelected: isSelected(item)
|
|
87
|
+
}, () => [
|
|
88
|
+
vue.createTextVNode(vue.toDisplayString(item[_ctx.itemText]), 1)
|
|
89
|
+
])
|
|
90
|
+
]),
|
|
91
|
+
_: 2
|
|
92
|
+
}, 1032, ["size", "disabled", "class", "selected", "onClick"])
|
|
93
|
+
], 2)), [
|
|
90
94
|
[_directive_tooltip, { content: tooltipText(item) }]
|
|
91
95
|
]);
|
|
92
96
|
}), 128))
|
package/dist/cjs/index.js
CHANGED
|
@@ -922,7 +922,7 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
|
|
|
922
922
|
]),
|
|
923
923
|
_ctx.colsResizable && i !== 0 && !(i === _ctx.cols.length - 1 && _ctx.isLastColFixed) ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
924
924
|
key: 0,
|
|
925
|
-
class: vue.normalizeClass(["absolute bottom-2 right-0 z-110 h-5 w-2 cursor-col-resize after:absolute after:bottom-0 after:z-110 after:block after:h-full after:w-2 after:cursor-col-resize after:border-r-2 after:border-dashed after:border-p-gray-30", i === _ctx.cols.length - 1 ? "
|
|
925
|
+
class: vue.normalizeClass(["absolute bottom-2 right-0 z-110 h-5 w-2 cursor-col-resize after:absolute after:bottom-0 after:z-110 after:block after:h-full after:w-2 after:cursor-col-resize after:border-r-2 after:border-dashed after:border-p-gray-30", i === _ctx.cols.length - 1 ? "after:right-0.5" : "after:right-0"]),
|
|
926
926
|
"data-resize-handle": "",
|
|
927
927
|
onMousedown: ($event) => vue.unref(colResizeStart)($event, i),
|
|
928
928
|
onDblclick: ($event) => vue.unref(colResizeFitToData)(i)
|
|
@@ -957,7 +957,7 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
|
|
|
957
957
|
};
|
|
958
958
|
}
|
|
959
959
|
});
|
|
960
|
-
const pTable = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main$1, [["__scopeId", "data-v-
|
|
960
|
+
const pTable = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main$1, [["__scopeId", "data-v-8582afb1"]]);
|
|
961
961
|
const _sfc_main = vue.defineComponent({
|
|
962
962
|
name: "PTableSort",
|
|
963
963
|
props: {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent, resolveDirective, openBlock, createElementBlock, normalizeClass, Fragment, renderList, withDirectives,
|
|
1
|
+
import { defineComponent, resolveDirective, openBlock, createElementBlock, normalizeClass, Fragment, renderList, withDirectives, createVNode, withCtx, renderSlot, createTextVNode, toDisplayString } from "vue";
|
|
2
2
|
import PBtn from "../p-btn.js";
|
|
3
3
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
4
4
|
...{
|
|
@@ -58,34 +58,38 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
58
58
|
return (_ctx, _cache) => {
|
|
59
59
|
const _directive_tooltip = resolveDirective("tooltip");
|
|
60
60
|
return openBlock(), createElementBlock("div", {
|
|
61
|
-
class: normalizeClass({ flex: _ctx.grow
|
|
61
|
+
class: normalizeClass({ flex: _ctx.grow })
|
|
62
62
|
}, [
|
|
63
63
|
(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.items, (item, index) => {
|
|
64
|
-
return withDirectives((openBlock(),
|
|
64
|
+
return withDirectives((openBlock(), createElementBlock("div", {
|
|
65
65
|
key: item[_ctx.itemValue],
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
"
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
66
|
+
class: normalizeClass(["inline-flex", { "*:px-0 *:py-0": _ctx.noPadding, grow: _ctx.grow }])
|
|
67
|
+
}, [
|
|
68
|
+
createVNode(PBtn, {
|
|
69
|
+
size: _ctx.size,
|
|
70
|
+
type: "secondary-outline-blue",
|
|
71
|
+
disabled: item.disabled,
|
|
72
|
+
class: normalizeClass({
|
|
73
|
+
"rounded-none": index !== 0 && index !== _ctx.items.length - 1,
|
|
74
|
+
"rounded-br-none rounded-tr-none": index === 0,
|
|
75
|
+
"rounded-bl-none rounded-tl-none": index === _ctx.items.length - 1,
|
|
76
|
+
"-mr-0.5": index !== _ctx.items.length - 1,
|
|
77
|
+
"flex-1": _ctx.grow
|
|
78
|
+
}),
|
|
79
|
+
selected: isSelected(item) && _ctx.highlightSelected,
|
|
80
|
+
onClick: ($event) => select(item)
|
|
81
|
+
}, {
|
|
82
|
+
default: withCtx(() => [
|
|
83
|
+
renderSlot(_ctx.$slots, `btn-${index}`, {
|
|
84
|
+
item,
|
|
85
|
+
isSelected: isSelected(item)
|
|
86
|
+
}, () => [
|
|
87
|
+
createTextVNode(toDisplayString(item[_ctx.itemText]), 1)
|
|
88
|
+
])
|
|
89
|
+
]),
|
|
90
|
+
_: 2
|
|
91
|
+
}, 1032, ["size", "disabled", "class", "selected", "onClick"])
|
|
92
|
+
], 2)), [
|
|
89
93
|
[_directive_tooltip, { content: tooltipText(item) }]
|
|
90
94
|
]);
|
|
91
95
|
}), 128))
|
package/dist/es/index.js
CHANGED
|
@@ -922,7 +922,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
922
922
|
]),
|
|
923
923
|
_ctx.colsResizable && i !== 0 && !(i === _ctx.cols.length - 1 && _ctx.isLastColFixed) ? (openBlock(), createElementBlock("div", {
|
|
924
924
|
key: 0,
|
|
925
|
-
class: normalizeClass(["absolute bottom-2 right-0 z-110 h-5 w-2 cursor-col-resize after:absolute after:bottom-0 after:z-110 after:block after:h-full after:w-2 after:cursor-col-resize after:border-r-2 after:border-dashed after:border-p-gray-30", i === _ctx.cols.length - 1 ? "
|
|
925
|
+
class: normalizeClass(["absolute bottom-2 right-0 z-110 h-5 w-2 cursor-col-resize after:absolute after:bottom-0 after:z-110 after:block after:h-full after:w-2 after:cursor-col-resize after:border-r-2 after:border-dashed after:border-p-gray-30", i === _ctx.cols.length - 1 ? "after:right-0.5" : "after:right-0"]),
|
|
926
926
|
"data-resize-handle": "",
|
|
927
927
|
onMousedown: ($event) => unref(colResizeStart)($event, i),
|
|
928
928
|
onDblclick: ($event) => unref(colResizeFitToData)(i)
|
|
@@ -957,7 +957,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
957
957
|
};
|
|
958
958
|
}
|
|
959
959
|
});
|
|
960
|
-
const pTable = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-
|
|
960
|
+
const pTable = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-8582afb1"]]);
|
|
961
961
|
const _sfc_main = defineComponent({
|
|
962
962
|
name: "PTableSort",
|
|
963
963
|
props: {
|
|
@@ -1,10 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
name
|
|
3
|
-
|
|
4
|
-
icon?: string;
|
|
5
|
-
subActions?: {
|
|
1
|
+
type WithSubActions = {
|
|
2
|
+
name: never;
|
|
3
|
+
subActions: {
|
|
6
4
|
name: string;
|
|
7
5
|
label: string;
|
|
8
6
|
icon?: string;
|
|
9
7
|
}[];
|
|
10
8
|
};
|
|
9
|
+
type WithoutSubActions = {
|
|
10
|
+
name: string;
|
|
11
|
+
subActions: never;
|
|
12
|
+
};
|
|
13
|
+
export type PActionBarAction = {
|
|
14
|
+
label: string;
|
|
15
|
+
icon?: string;
|
|
16
|
+
} & (WithSubActions | WithoutSubActions);
|
|
17
|
+
export {};
|
|
@@ -5,10 +5,10 @@ type Props = {
|
|
|
5
5
|
};
|
|
6
6
|
declare const _default: import("vue").DefineComponent<__VLS_TypePropsToOption<Props>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
7
7
|
"click:dismiss": () => void;
|
|
8
|
-
"click:action": (value: string
|
|
8
|
+
"click:action": (value: string) => void;
|
|
9
9
|
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<Props>>> & {
|
|
10
10
|
"onClick:dismiss"?: (() => any) | undefined;
|
|
11
|
-
"onClick:action"?: ((value: string
|
|
11
|
+
"onClick:action"?: ((value: string) => any) | undefined;
|
|
12
12
|
}, {}, {}>;
|
|
13
13
|
export default _default;
|
|
14
14
|
|
package/dist/style.css
CHANGED
|
@@ -2094,29 +2094,29 @@ to {
|
|
|
2094
2094
|
.bg-file-upload-x-icon[data-v-d07a8f64]:hover {
|
|
2095
2095
|
background-image: url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M0%208C0%209.58225%200.469192%2011.129%201.34824%2012.4446C2.22729%2013.7602%203.47672%2014.7855%204.93853%2015.391C6.40034%2015.9965%208.00887%2016.155%209.56072%2015.8463C11.1126%2015.5376%2012.538%2014.7757%2013.6569%2013.6569C14.7757%2012.538%2015.5376%2011.1126%2015.8463%209.56072C16.155%208.00887%2015.9965%206.40034%2015.391%204.93853C14.7855%203.47672%2013.7602%202.22729%2012.4446%201.34824C11.129%200.469192%209.58225%200%208%200C5.87827%200%203.84344%200.842855%202.34315%202.34315C0.842855%203.84344%200%205.87827%200%208ZM14.3333%208C14.3333%209.25262%2013.9619%2010.4771%2013.266%2011.5186C12.5701%2012.5601%2011.5809%2013.3719%2010.4237%2013.8512C9.2664%2014.3306%207.99298%2014.456%206.76443%2014.2116C5.53588%2013.9673%204.40739%2013.3641%203.52166%2012.4783C2.63592%2011.5926%202.03273%2010.4641%201.78836%209.23557C1.54399%208.00703%201.66941%206.7336%202.14876%205.57634C2.62812%204.41907%203.43988%203.42994%204.48139%202.73403C5.5229%202.03811%206.74739%201.66667%208%201.66667C9.67916%201.66843%2011.289%202.33626%2012.4764%203.52361C13.6637%204.71096%2014.3316%206.32084%2014.3333%208Z'%20fill='%23BB1410'%20/%3e%3cpath%20d='M5.88634%204.71322C5.73075%204.55763%205.51972%204.47021%205.29967%204.47021C5.07963%204.47021%204.8686%204.55763%204.71301%204.71322C4.55741%204.86881%204.47%205.07984%204.47%205.29989C4.47%205.51993%204.55741%205.73096%204.71301%205.88655L6.71301%207.88655C6.72914%207.9021%206.74197%207.92074%206.75073%207.94136C6.7595%207.96198%206.76401%207.98415%206.76401%208.00655C6.76401%208.02896%206.7595%208.05113%206.75073%208.07175C6.74197%208.09237%206.72914%208.11101%206.71301%208.12655L4.71301%2010.1266C4.63561%2010.2034%204.57417%2010.2948%204.53225%2010.3955C4.49033%2010.4962%204.46875%2010.6042%204.46875%2010.7132C4.46875%2010.8223%204.49033%2010.9303%204.53225%2011.031C4.57417%2011.1317%204.63561%2011.223%204.71301%2011.2999C4.78939%2011.3781%204.88063%2011.4403%204.98138%2011.4827C5.08213%2011.5251%205.19035%2011.547%205.29967%2011.547C5.409%2011.547%205.51721%2011.5251%205.61796%2011.4827C5.71871%2011.4403%205.80996%2011.3781%205.88634%2011.2999L7.88634%209.29989C7.91934%209.27037%207.96207%209.25405%208.00634%209.25405C8.05062%209.25405%208.09334%209.27037%208.12634%209.29989L10.1263%2011.2999C10.2027%2011.3781%2010.294%2011.4403%2010.3947%2011.4827C10.4955%2011.5251%2010.6037%2011.547%2010.713%2011.547C10.8223%2011.547%2010.9305%2011.5251%2011.0313%2011.4827C11.132%2011.4403%2011.2233%2011.3781%2011.2997%2011.2999C11.3771%2011.223%2011.4385%2011.1317%2011.4804%2011.031C11.5224%2010.9303%2011.5439%2010.8223%2011.5439%2010.7132C11.5439%2010.6042%2011.5224%2010.4962%2011.4804%2010.3955C11.4385%2010.2948%2011.3771%2010.2034%2011.2997%2010.1266L9.29967%208.12655C9.27016%208.09355%209.25384%208.05083%209.25384%208.00655C9.25384%207.96228%209.27016%207.91955%209.29967%207.88655L11.2997%205.88655C11.4553%205.73096%2011.5427%205.51993%2011.5427%205.29989C11.5427%205.07984%2011.4553%204.86881%2011.2997%204.71322C11.1441%204.55763%2010.9331%204.47021%2010.713%204.47021C10.493%204.47021%2010.2819%204.55763%2010.1263%204.71322L8.12634%206.71322C8.09334%206.74274%208.05062%206.75906%208.00634%206.75906C7.96207%206.75906%207.91934%206.74274%207.88634%206.71322L5.88634%204.71322Z'%20fill='%23BB1410'%20/%3e%3c/svg%3e");
|
|
2096
2096
|
}
|
|
2097
|
-
.p-table[data-v-
|
|
2097
|
+
.p-table[data-v-8582afb1] {
|
|
2098
2098
|
color: var(--color-night);
|
|
2099
2099
|
height: 1px;
|
|
2100
2100
|
}
|
|
2101
|
-
.p-table th[data-v-
|
|
2101
|
+
.p-table th[data-v-8582afb1] {
|
|
2102
2102
|
position: sticky;
|
|
2103
2103
|
top: 0px;
|
|
2104
2104
|
z-index: 20;
|
|
2105
2105
|
padding: 0px;
|
|
2106
2106
|
}
|
|
2107
|
-
.p-table.first-col-fixed th[data-v-
|
|
2107
|
+
.p-table.first-col-fixed th[data-v-8582afb1]:first-child {
|
|
2108
2108
|
left: 0px;
|
|
2109
2109
|
z-index: 30;
|
|
2110
2110
|
}
|
|
2111
|
-
.p-table.first-col-fixed th:first-child .th-shadow[data-v-
|
|
2111
|
+
.p-table.first-col-fixed th:first-child .th-shadow[data-v-8582afb1] {
|
|
2112
2112
|
box-shadow: -1px 1px 5px 4px rgba(0, 0, 0, 0.15);
|
|
2113
2113
|
clip-path: inset(0px -12px 0px 0px);
|
|
2114
2114
|
}
|
|
2115
|
-
.p-table.last-col-fixed th[data-v-
|
|
2115
|
+
.p-table.last-col-fixed th[data-v-8582afb1]:last-child {
|
|
2116
2116
|
right: 0px;
|
|
2117
2117
|
z-index: 30;
|
|
2118
2118
|
}
|
|
2119
|
-
.p-table.last-col-fixed th:last-child .th-shadow[data-v-
|
|
2119
|
+
.p-table.last-col-fixed th:last-child .th-shadow[data-v-8582afb1] {
|
|
2120
2120
|
box-shadow: -2px 1px 8px rgba(0, 0, 0, 0.15);
|
|
2121
2121
|
clip-path: inset(0px 0px 0px -12px);
|
|
2122
2122
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pequity/squirrel",
|
|
3
3
|
"description": "Squirrel component library",
|
|
4
|
-
"version": "1.2.
|
|
4
|
+
"version": "1.2.5",
|
|
5
5
|
"packageManager": "pnpm@8.9.2",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"scripts": {
|
|
@@ -50,33 +50,33 @@
|
|
|
50
50
|
"vue-toastification": "^2.0.0-rc.5"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
|
-
"@babel/core": "^7.24.
|
|
54
|
-
"@babel/preset-env": "^7.24.
|
|
53
|
+
"@babel/core": "^7.24.7",
|
|
54
|
+
"@babel/preset-env": "^7.24.7",
|
|
55
55
|
"@commitlint/cli": "^19.3.0",
|
|
56
56
|
"@commitlint/config-conventional": "^19.2.2",
|
|
57
57
|
"@pequity/eslint-config": "^0.0.13",
|
|
58
58
|
"@popperjs/core": "2.11.8",
|
|
59
59
|
"@semantic-release/changelog": "^6.0.3",
|
|
60
60
|
"@semantic-release/git": "^10.0.1",
|
|
61
|
-
"@storybook/addon-a11y": "^8.1.
|
|
62
|
-
"@storybook/addon-actions": "^8.1.
|
|
63
|
-
"@storybook/addon-essentials": "^8.1.
|
|
64
|
-
"@storybook/addon-interactions": "^8.1.
|
|
65
|
-
"@storybook/addon-links": "^8.1.
|
|
66
|
-
"@storybook/blocks": "^8.1.
|
|
61
|
+
"@storybook/addon-a11y": "^8.1.5",
|
|
62
|
+
"@storybook/addon-actions": "^8.1.5",
|
|
63
|
+
"@storybook/addon-essentials": "^8.1.5",
|
|
64
|
+
"@storybook/addon-interactions": "^8.1.5",
|
|
65
|
+
"@storybook/addon-links": "^8.1.5",
|
|
66
|
+
"@storybook/blocks": "^8.1.5",
|
|
67
67
|
"@storybook/jest": "^0.2.3",
|
|
68
|
-
"@storybook/manager-api": "^8.1.
|
|
69
|
-
"@storybook/test-runner": "^0.18.
|
|
68
|
+
"@storybook/manager-api": "^8.1.5",
|
|
69
|
+
"@storybook/test-runner": "^0.18.2",
|
|
70
70
|
"@storybook/testing-library": "^0.2.2",
|
|
71
|
-
"@storybook/theming": "^8.1.
|
|
72
|
-
"@storybook/vue3": "^8.1.
|
|
73
|
-
"@storybook/vue3-vite": "^8.1.
|
|
71
|
+
"@storybook/theming": "^8.1.5",
|
|
72
|
+
"@storybook/vue3": "^8.1.5",
|
|
73
|
+
"@storybook/vue3-vite": "^8.1.5",
|
|
74
74
|
"@tanstack/vue-virtual": "3.5.0",
|
|
75
75
|
"@types/jest": "^29.5.12",
|
|
76
|
-
"@types/jsdom": "^21.1.
|
|
76
|
+
"@types/jsdom": "^21.1.7",
|
|
77
77
|
"@types/lodash-es": "^4.17.12",
|
|
78
|
-
"@types/node": "^20.
|
|
79
|
-
"@vitejs/plugin-vue": "^5.0.
|
|
78
|
+
"@types/node": "^20.14.2",
|
|
79
|
+
"@vitejs/plugin-vue": "^5.0.5",
|
|
80
80
|
"@vue/compiler-sfc": "3.4.27",
|
|
81
81
|
"@vue/test-utils": "^2.4.6",
|
|
82
82
|
"@vue/vue3-jest": "^29.2.6",
|
|
@@ -94,13 +94,13 @@
|
|
|
94
94
|
"lodash-es": "4.17.21",
|
|
95
95
|
"make-coverage-badge": "^1.2.0",
|
|
96
96
|
"postcss": "^8.4.38",
|
|
97
|
-
"prettier": "^3.
|
|
98
|
-
"prettier-plugin-tailwindcss": "^0.
|
|
97
|
+
"prettier": "^3.3.1",
|
|
98
|
+
"prettier-plugin-tailwindcss": "^0.6.1",
|
|
99
99
|
"resolve-tspaths": "^0.8.19",
|
|
100
100
|
"rimraf": "^5.0.7",
|
|
101
|
-
"sass": "^1.77.
|
|
102
|
-
"semantic-release": "^
|
|
103
|
-
"storybook": "^8.1.
|
|
101
|
+
"sass": "^1.77.4",
|
|
102
|
+
"semantic-release": "^24.0.0",
|
|
103
|
+
"storybook": "^8.1.5",
|
|
104
104
|
"svgo": "^3.3.2",
|
|
105
105
|
"tailwindcss": "^3.4.3",
|
|
106
106
|
"ts-jest": "^29.1.4",
|
|
@@ -1,10 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
name
|
|
3
|
-
|
|
4
|
-
icon?: string;
|
|
5
|
-
subActions?: {
|
|
1
|
+
type WithSubActions = {
|
|
2
|
+
name: never;
|
|
3
|
+
subActions: {
|
|
6
4
|
name: string;
|
|
7
5
|
label: string;
|
|
8
6
|
icon?: string;
|
|
9
7
|
}[];
|
|
10
8
|
};
|
|
9
|
+
|
|
10
|
+
type WithoutSubActions = {
|
|
11
|
+
name: string;
|
|
12
|
+
subActions: never;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
export type PActionBarAction = {
|
|
16
|
+
label: string;
|
|
17
|
+
icon?: string;
|
|
18
|
+
} & (WithSubActions | WithoutSubActions);
|
|
@@ -40,7 +40,7 @@ describe('PSelectBtn.vue', () => {
|
|
|
40
40
|
},
|
|
41
41
|
});
|
|
42
42
|
|
|
43
|
-
await wrapper.findByText('Option 1').trigger('click');
|
|
43
|
+
await wrapper.findByText('Option 1', 'button').trigger('click');
|
|
44
44
|
const selectedButton = await wrapper.find('button[aria-selected="true"]');
|
|
45
45
|
|
|
46
46
|
expect(wrapper.props('modelValue')).toBe(1);
|
|
@@ -125,12 +125,19 @@ describe('PSelectBtn.vue', () => {
|
|
|
125
125
|
modelValue: 2,
|
|
126
126
|
showTooltip: true,
|
|
127
127
|
},
|
|
128
|
+
directives: {
|
|
129
|
+
tooltip: {
|
|
130
|
+
mounted(el, binding) {
|
|
131
|
+
el.setAttribute('data-tooltip', binding.value.content || '');
|
|
132
|
+
},
|
|
133
|
+
},
|
|
134
|
+
},
|
|
128
135
|
});
|
|
129
136
|
|
|
130
|
-
const
|
|
137
|
+
const buttonDivs = await wrapper.findAll('div.inline-flex');
|
|
131
138
|
|
|
132
|
-
|
|
133
|
-
expect(
|
|
139
|
+
buttonDivs.forEach((buttonDiv, i) => {
|
|
140
|
+
expect(buttonDiv.attributes()['data-tooltip']).toBe(items[i].textCustom);
|
|
134
141
|
});
|
|
135
142
|
});
|
|
136
143
|
|
|
@@ -199,8 +206,12 @@ describe('PSelectBtn.vue', () => {
|
|
|
199
206
|
},
|
|
200
207
|
});
|
|
201
208
|
|
|
202
|
-
|
|
203
|
-
|
|
209
|
+
const buttonContainers = wrapper.findAll('div.inline-flex');
|
|
210
|
+
|
|
211
|
+
buttonContainers.forEach((buttonContainer) => {
|
|
212
|
+
expect(buttonContainer.classes()).toContain('*:px-0');
|
|
213
|
+
expect(buttonContainer.classes()).toContain('*:py-0');
|
|
214
|
+
});
|
|
204
215
|
});
|
|
205
216
|
|
|
206
217
|
it('passes the isSelected data via scoped slots', async () => {
|
|
@@ -1,24 +1,28 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div :class="{ flex: grow
|
|
3
|
-
<
|
|
2
|
+
<div :class="{ flex: grow }">
|
|
3
|
+
<div
|
|
4
4
|
v-for="(item, index) in items"
|
|
5
5
|
:key="item[itemValue] as Key"
|
|
6
6
|
v-tooltip="{ content: tooltipText(item) }"
|
|
7
|
-
:
|
|
8
|
-
type="secondary-outline-blue"
|
|
9
|
-
:disabled="item.disabled"
|
|
10
|
-
:class="{
|
|
11
|
-
'rounded-none': index !== 0 && index !== items.length - 1,
|
|
12
|
-
'rounded-br-none rounded-tr-none': index === 0,
|
|
13
|
-
'rounded-bl-none rounded-tl-none': index === items.length - 1,
|
|
14
|
-
'-mr-0.5': index !== items.length - 1,
|
|
15
|
-
'flex-1': grow,
|
|
16
|
-
}"
|
|
17
|
-
:selected="isSelected(item) && highlightSelected"
|
|
18
|
-
@click="select(item)"
|
|
7
|
+
:class="['inline-flex', { '*:px-0 *:py-0': noPadding, grow }]"
|
|
19
8
|
>
|
|
20
|
-
<
|
|
21
|
-
|
|
9
|
+
<PBtn
|
|
10
|
+
:size="size"
|
|
11
|
+
type="secondary-outline-blue"
|
|
12
|
+
:disabled="item.disabled"
|
|
13
|
+
:class="{
|
|
14
|
+
'rounded-none': index !== 0 && index !== items.length - 1,
|
|
15
|
+
'rounded-br-none rounded-tr-none': index === 0,
|
|
16
|
+
'rounded-bl-none rounded-tl-none': index === items.length - 1,
|
|
17
|
+
'-mr-0.5': index !== items.length - 1,
|
|
18
|
+
'flex-1': grow,
|
|
19
|
+
}"
|
|
20
|
+
:selected="isSelected(item) && highlightSelected"
|
|
21
|
+
@click="select(item)"
|
|
22
|
+
>
|
|
23
|
+
<slot :name="`btn-${index}`" :item="item" :is-selected="isSelected(item)">{{ item[itemText] }}</slot>
|
|
24
|
+
</PBtn>
|
|
25
|
+
</div>
|
|
22
26
|
</div>
|
|
23
27
|
</template>
|
|
24
28
|
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
<div
|
|
50
50
|
v-if="colsResizable && i !== 0 && !(i === cols.length - 1 && isLastColFixed)"
|
|
51
51
|
class="absolute bottom-2 right-0 z-110 h-5 w-2 cursor-col-resize after:absolute after:bottom-0 after:z-110 after:block after:h-full after:w-2 after:cursor-col-resize after:border-r-2 after:border-dashed after:border-p-gray-30"
|
|
52
|
-
:class="i === cols.length - 1 ? '
|
|
52
|
+
:class="i === cols.length - 1 ? 'after:right-0.5' : 'after:right-0'"
|
|
53
53
|
data-resize-handle
|
|
54
54
|
@mousedown="colResizeStart($event, i)"
|
|
55
55
|
@dblclick="colResizeFitToData(i)"
|