@pequity/squirrel 7.2.2 → 7.2.4

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/index.js CHANGED
@@ -903,7 +903,7 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
903
903
  };
904
904
  }
905
905
  });
906
- const pTable = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main$1, [["__scopeId", "data-v-46ca3ab3"]]);
906
+ const pTable = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main$1, [["__scopeId", "data-v-ab73279a"]]);
907
907
  const _imports_0 = "data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_1019_75838)'%3e%3cpath%20d='M11.6533%203.37331L8.47329%200.18664C8.41131%200.124154%208.33758%200.074558%208.25634%200.0407122C8.1751%200.00686641%208.08796%20-0.0105591%207.99995%20-0.0105591C7.91194%20-0.0105591%207.82481%200.00686641%207.74357%200.0407122C7.66233%200.074558%207.58859%200.124154%207.52662%200.18664L4.34662%203.37331C4.253%203.46615%204.18902%203.58468%204.16277%203.71388C4.13651%203.84309%204.14916%203.97719%204.19911%204.09921C4.24906%204.22123%204.33407%204.3257%204.44339%204.39941C4.55271%204.47312%204.68144%204.51275%204.81329%204.51331H6.81329C6.83571%204.51054%206.85846%204.51235%206.88016%204.51865C6.90186%204.52494%206.92205%204.53559%206.93951%204.54993C6.95697%204.56427%206.97133%204.58201%206.98172%204.60207C6.99211%204.62214%206.99832%204.6441%206.99995%204.66664V14.9933C6.99995%2015.2585%207.10531%2015.5129%207.29285%2015.7004C7.48038%2015.888%207.73474%2015.9933%207.99995%2015.9933C8.26517%2015.9933%208.51952%2015.888%208.70706%2015.7004C8.8946%2015.5129%208.99995%2015.2585%208.99995%2014.9933V4.66664C8.99995%204.62244%209.01751%204.58004%209.04877%204.54879C9.08002%204.51753%209.12242%204.49997%209.16662%204.49997H11.1666C11.2985%204.49942%2011.4272%204.45978%2011.5365%204.38608C11.6458%204.31237%2011.7308%204.2079%2011.7808%204.08587C11.8307%203.96385%2011.8434%203.82976%2011.8171%203.70055C11.7909%203.57134%2011.7269%203.45282%2011.6333%203.35997L11.6533%203.37331Z'%20fill='%23424E6E'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_1019_75838'%3e%3crect%20width='16'%20height='16'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e";
908
908
  const _imports_1 = "data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_1019_80096)'%3e%3cpath%20d='M11.6533%203.37331L8.47329%200.18664C8.41131%200.124154%208.33758%200.074558%208.25634%200.0407122C8.1751%200.00686641%208.08796%20-0.0105591%207.99995%20-0.0105591C7.91194%20-0.0105591%207.82481%200.00686641%207.74357%200.0407122C7.66233%200.074558%207.58859%200.124154%207.52662%200.18664L4.34662%203.37331C4.253%203.46615%204.18902%203.58468%204.16277%203.71388C4.13651%203.84309%204.14916%203.97719%204.19911%204.09921C4.24906%204.22123%204.33407%204.3257%204.44339%204.39941C4.55271%204.47312%204.68144%204.51275%204.81329%204.51331H6.81329C6.83571%204.51054%206.85846%204.51235%206.88016%204.51865C6.90186%204.52494%206.92205%204.53559%206.93951%204.54993C6.95697%204.56427%206.97133%204.58201%206.98172%204.60207C6.99211%204.62214%206.99832%204.6441%206.99995%204.66664V14.9933C6.99995%2015.2585%207.10531%2015.5129%207.29285%2015.7004C7.48038%2015.888%207.73474%2015.9933%207.99995%2015.9933C8.26517%2015.9933%208.51952%2015.888%208.70706%2015.7004C8.8946%2015.5129%208.99995%2015.2585%208.99995%2014.9933V4.66664C8.99995%204.62244%209.01751%204.58004%209.04877%204.54879C9.08002%204.51753%209.12242%204.49997%209.16662%204.49997H11.1666C11.2985%204.49942%2011.4272%204.45978%2011.5365%204.38608C11.6458%204.31237%2011.7308%204.2079%2011.7808%204.08587C11.8307%203.96385%2011.8434%203.82976%2011.8171%203.70055C11.7909%203.57134%2011.7269%203.45282%2011.6333%203.35997L11.6533%203.37331Z'%20fill='%23323CEB'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_1019_80096'%3e%3crect%20width='16'%20height='16'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e";
909
909
  const _imports_2 = "data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_1019_75842)'%3e%3cpath%20d='M11.8%2011.8933C11.75%2011.7716%2011.665%2011.6674%2011.5559%2011.5938C11.4467%2011.5203%2011.3183%2011.4807%2011.1866%2011.48H9.18664C9.16473%2011.4828%209.14248%2011.4812%209.12119%2011.4753C9.0999%2011.4694%209.07999%2011.4594%209.06262%2011.4457C9.04525%2011.4321%209.03077%2011.4151%209.02001%2011.3958C9.00926%2011.3765%209.00245%2011.3553%208.99997%2011.3333V1C8.99997%200.734784%208.89462%200.48043%208.70708%200.292893C8.51954%200.105357%208.26519%200%207.99997%200C7.73476%200%207.4804%200.105357%207.29287%200.292893C7.10533%200.48043%206.99997%200.734784%206.99997%201V11.3333C6.99997%2011.3775%206.98241%2011.4199%206.95116%2011.4512C6.9199%2011.4824%206.87751%2011.5%206.83331%2011.5H4.83331C4.70146%2011.5006%204.57273%2011.5402%204.46341%2011.6139C4.35409%2011.6876%204.26908%2011.7921%204.21913%2011.9141C4.16918%2012.0361%204.15653%2012.1702%204.18279%2012.2994C4.20904%2012.4286%204.27302%2012.5472%204.36664%2012.64L7.54664%2015.8267C7.60861%2015.8892%207.68235%2015.9387%207.76359%2015.9726C7.84483%2016.0064%207.93196%2016.0239%208.01997%2016.0239C8.10798%2016.0239%208.19512%2016.0064%208.27636%2015.9726C8.3576%2015.9387%208.43133%2015.8892%208.49331%2015.8267L11.6733%2012.64C11.7677%2012.5431%2011.8303%2012.4198%2011.853%2012.2864C11.8756%2012.153%2011.8571%2012.0159%2011.8%2011.8933Z'%20fill='%23424E6E'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_1019_75842'%3e%3crect%20width='16'%20height='16'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e";
package/dist/es/index.js CHANGED
@@ -903,7 +903,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
903
903
  };
904
904
  }
905
905
  });
906
- const pTable = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-46ca3ab3"]]);
906
+ const pTable = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-ab73279a"]]);
907
907
  const _imports_0 = "data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_1019_75838)'%3e%3cpath%20d='M11.6533%203.37331L8.47329%200.18664C8.41131%200.124154%208.33758%200.074558%208.25634%200.0407122C8.1751%200.00686641%208.08796%20-0.0105591%207.99995%20-0.0105591C7.91194%20-0.0105591%207.82481%200.00686641%207.74357%200.0407122C7.66233%200.074558%207.58859%200.124154%207.52662%200.18664L4.34662%203.37331C4.253%203.46615%204.18902%203.58468%204.16277%203.71388C4.13651%203.84309%204.14916%203.97719%204.19911%204.09921C4.24906%204.22123%204.33407%204.3257%204.44339%204.39941C4.55271%204.47312%204.68144%204.51275%204.81329%204.51331H6.81329C6.83571%204.51054%206.85846%204.51235%206.88016%204.51865C6.90186%204.52494%206.92205%204.53559%206.93951%204.54993C6.95697%204.56427%206.97133%204.58201%206.98172%204.60207C6.99211%204.62214%206.99832%204.6441%206.99995%204.66664V14.9933C6.99995%2015.2585%207.10531%2015.5129%207.29285%2015.7004C7.48038%2015.888%207.73474%2015.9933%207.99995%2015.9933C8.26517%2015.9933%208.51952%2015.888%208.70706%2015.7004C8.8946%2015.5129%208.99995%2015.2585%208.99995%2014.9933V4.66664C8.99995%204.62244%209.01751%204.58004%209.04877%204.54879C9.08002%204.51753%209.12242%204.49997%209.16662%204.49997H11.1666C11.2985%204.49942%2011.4272%204.45978%2011.5365%204.38608C11.6458%204.31237%2011.7308%204.2079%2011.7808%204.08587C11.8307%203.96385%2011.8434%203.82976%2011.8171%203.70055C11.7909%203.57134%2011.7269%203.45282%2011.6333%203.35997L11.6533%203.37331Z'%20fill='%23424E6E'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_1019_75838'%3e%3crect%20width='16'%20height='16'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e";
908
908
  const _imports_1 = "data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_1019_80096)'%3e%3cpath%20d='M11.6533%203.37331L8.47329%200.18664C8.41131%200.124154%208.33758%200.074558%208.25634%200.0407122C8.1751%200.00686641%208.08796%20-0.0105591%207.99995%20-0.0105591C7.91194%20-0.0105591%207.82481%200.00686641%207.74357%200.0407122C7.66233%200.074558%207.58859%200.124154%207.52662%200.18664L4.34662%203.37331C4.253%203.46615%204.18902%203.58468%204.16277%203.71388C4.13651%203.84309%204.14916%203.97719%204.19911%204.09921C4.24906%204.22123%204.33407%204.3257%204.44339%204.39941C4.55271%204.47312%204.68144%204.51275%204.81329%204.51331H6.81329C6.83571%204.51054%206.85846%204.51235%206.88016%204.51865C6.90186%204.52494%206.92205%204.53559%206.93951%204.54993C6.95697%204.56427%206.97133%204.58201%206.98172%204.60207C6.99211%204.62214%206.99832%204.6441%206.99995%204.66664V14.9933C6.99995%2015.2585%207.10531%2015.5129%207.29285%2015.7004C7.48038%2015.888%207.73474%2015.9933%207.99995%2015.9933C8.26517%2015.9933%208.51952%2015.888%208.70706%2015.7004C8.8946%2015.5129%208.99995%2015.2585%208.99995%2014.9933V4.66664C8.99995%204.62244%209.01751%204.58004%209.04877%204.54879C9.08002%204.51753%209.12242%204.49997%209.16662%204.49997H11.1666C11.2985%204.49942%2011.4272%204.45978%2011.5365%204.38608C11.6458%204.31237%2011.7308%204.2079%2011.7808%204.08587C11.8307%203.96385%2011.8434%203.82976%2011.8171%203.70055C11.7909%203.57134%2011.7269%203.45282%2011.6333%203.35997L11.6533%203.37331Z'%20fill='%23323CEB'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_1019_80096'%3e%3crect%20width='16'%20height='16'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e";
909
909
  const _imports_2 = "data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_1019_75842)'%3e%3cpath%20d='M11.8%2011.8933C11.75%2011.7716%2011.665%2011.6674%2011.5559%2011.5938C11.4467%2011.5203%2011.3183%2011.4807%2011.1866%2011.48H9.18664C9.16473%2011.4828%209.14248%2011.4812%209.12119%2011.4753C9.0999%2011.4694%209.07999%2011.4594%209.06262%2011.4457C9.04525%2011.4321%209.03077%2011.4151%209.02001%2011.3958C9.00926%2011.3765%209.00245%2011.3553%208.99997%2011.3333V1C8.99997%200.734784%208.89462%200.48043%208.70708%200.292893C8.51954%200.105357%208.26519%200%207.99997%200C7.73476%200%207.4804%200.105357%207.29287%200.292893C7.10533%200.48043%206.99997%200.734784%206.99997%201V11.3333C6.99997%2011.3775%206.98241%2011.4199%206.95116%2011.4512C6.9199%2011.4824%206.87751%2011.5%206.83331%2011.5H4.83331C4.70146%2011.5006%204.57273%2011.5402%204.46341%2011.6139C4.35409%2011.6876%204.26908%2011.7921%204.21913%2011.9141C4.16918%2012.0361%204.15653%2012.1702%204.18279%2012.2994C4.20904%2012.4286%204.27302%2012.5472%204.36664%2012.64L7.54664%2015.8267C7.60861%2015.8892%207.68235%2015.9387%207.76359%2015.9726C7.84483%2016.0064%207.93196%2016.0239%208.01997%2016.0239C8.10798%2016.0239%208.19512%2016.0064%208.27636%2015.9726C8.3576%2015.9387%208.43133%2015.8892%208.49331%2015.8267L11.6733%2012.64C11.7677%2012.5431%2011.8303%2012.4198%2011.853%2012.2864C11.8756%2012.153%2011.8571%2012.0159%2011.8%2011.8933Z'%20fill='%23424E6E'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_1019_75842'%3e%3crect%20width='16'%20height='16'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e";
@@ -1,125 +1,59 @@
1
1
  import { type TableCol } from './p-table.types';
2
- import PTableHeaderCell from '../p-table-header-cell/p-table-header-cell.vue';
3
- import PTableTd from '../p-table-td/p-table-td.vue';
4
- import { kebabCase } from 'lodash-es';
5
- type Props = {
6
- cols: TableCol[];
7
- colsResizable?: boolean;
8
- isFirstColFixed?: boolean;
9
- isLastColFixed?: boolean;
10
- lockScroll?: boolean;
11
- subheader?: boolean;
12
- virtualizer?: {
13
- paddingTop: number;
14
- paddingBottom: number;
2
+ declare const _default: <T extends Record<string, unknown>>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
3
+ props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
4
+ readonly onScroll?: ((val: Event) => any) | undefined;
5
+ readonly "onCol-resize"?: ((colIndex: number, width: number) => any) | undefined;
6
+ readonly "onClick-filter-icon"?: ((val: Event, col: any) => any) | undefined;
7
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, "onScroll" | "onClick-filter-icon" | "onCol-resize"> & {
8
+ cols: TableCol[];
9
+ colsResizable?: boolean;
10
+ isFirstColFixed?: boolean;
11
+ isLastColFixed?: boolean;
12
+ lockScroll?: boolean;
13
+ subheader?: boolean;
14
+ virtualizer?: {
15
+ paddingTop: number;
16
+ paddingBottom: number;
17
+ };
18
+ data?: T[];
19
+ } & Partial<{}>> & import("vue").PublicProps;
20
+ expose(exposed: import("vue").ShallowUnwrapRef<{
21
+ tbodyElement: import("vue").Ref<HTMLElement | null, HTMLElement | null>;
22
+ }>): void;
23
+ attrs: any;
24
+ slots: {
25
+ [x: `prepend-header-cell-${string}`]: ((props: {
26
+ col: TableCol;
27
+ }) => any) | undefined;
28
+ [x: `subheader-cell-${string}`]: ((props: {}) => any) | undefined;
29
+ [x: `cell-${string}`]: ((props: {
30
+ col: TableCol;
31
+ rowData: T;
32
+ rowIndex: number;
33
+ cellData: unknown;
34
+ }) => any) | undefined;
35
+ default?: ((props: {}) => any) | undefined;
36
+ row?: ((props: {
37
+ rowData: T;
38
+ rowIndex: number;
39
+ }) => any) | undefined;
40
+ cell?: ((props: {
41
+ col: TableCol;
42
+ colIndex: number;
43
+ rowData: T;
44
+ rowIndex: number;
45
+ cellData: unknown;
46
+ }) => any) | undefined;
15
47
  };
16
- data?: Record<string, unknown>[];
17
- };
18
- declare const scrollWrapper: import("vue").Ref<HTMLElement | null, HTMLElement | null>;
19
- declare const isColResizing: import("vue").Ref<boolean, boolean>, colResizeHandleLeft: import("vue").Ref<string, string>, colResize: (e: MouseEvent) => void, colResizeStart: (e: MouseEvent, i: number) => void, colResizeFitToData: (colIndex: number) => void;
20
- declare const tbodyElement: import("vue").Ref<HTMLElement | null, HTMLElement | null>;
21
- declare const updateThsRefs: (el: unknown, index: number) => void;
22
- declare const thDivClasses: (i: number) => string[];
23
- declare const thSubheaderClasses: (i: number) => string[];
24
- declare const bgColorStyle: (col: TableCol) => {
25
- backgroundColor: string;
26
- } | {
27
- backgroundColor?: undefined;
28
- };
29
- declare const headerCellTextColor: (col: TableCol) => string;
30
- declare const __VLS_ctx: InstanceType<__VLS_PickNotAny<typeof __VLS_self, new () => {}>>;
31
- declare var __VLS_2: `prepend-header-cell-${string}`, __VLS_3: {
32
- col: TableCol;
33
- }, __VLS_13: `subheader-cell-${string}`, __VLS_14: {}, __VLS_16: {}, __VLS_18: {
34
- rowData: Record<string, unknown>;
35
- rowIndex: number;
36
- }, __VLS_23: {
37
- col: TableCol;
38
- colIndex: number;
39
- rowData: Record<string, unknown>;
40
- rowIndex: number;
41
- cellData: unknown;
42
- }, __VLS_26: `cell-${string}`, __VLS_27: {
43
- col: TableCol;
44
- rowData: Record<string, unknown>;
45
- rowIndex: number;
46
- cellData: unknown;
47
- };
48
- type __VLS_Slots = __VLS_PrettifyGlobal<__VLS_OmitStringIndex<typeof __VLS_ctx.$slots> & {
49
- [K in NonNullable<typeof __VLS_2>]?: (props: typeof __VLS_3) => any;
50
- } & {
51
- [K in NonNullable<typeof __VLS_13>]?: (props: typeof __VLS_14) => any;
52
- } & {
53
- [K in NonNullable<typeof __VLS_26>]?: (props: typeof __VLS_27) => any;
54
- } & {
55
- default?: (props: typeof __VLS_16) => any;
56
- } & {
57
- row?: (props: typeof __VLS_18) => any;
58
- } & {
59
- cell?: (props: typeof __VLS_23) => any;
60
- }>;
61
- declare const __VLS_self: import("vue").DefineComponent<Props, {
62
- PTableHeaderCell: typeof PTableHeaderCell;
63
- PTableTd: typeof PTableTd;
64
- kebabCase: typeof kebabCase;
65
- scrollWrapper: typeof scrollWrapper;
66
- isColResizing: typeof isColResizing;
67
- colResizeHandleLeft: typeof colResizeHandleLeft;
68
- colResize: typeof colResize;
69
- colResizeStart: typeof colResizeStart;
70
- colResizeFitToData: typeof colResizeFitToData;
71
- tbodyElement: typeof tbodyElement;
72
- updateThsRefs: typeof updateThsRefs;
73
- thDivClasses: typeof thDivClasses;
74
- thSubheaderClasses: typeof thSubheaderClasses;
75
- bgColorStyle: typeof bgColorStyle;
76
- headerCellTextColor: typeof headerCellTextColor;
77
- }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
78
- scroll: (val: Event) => any;
79
- "col-resize": (colIndex: number, width: number) => any;
80
- "click-filter-icon": (val: Event, col: any) => any;
81
- }, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
82
- onScroll?: ((val: Event) => any) | undefined;
83
- "onCol-resize"?: ((colIndex: number, width: number) => any) | undefined;
84
- "onClick-filter-icon"?: ((val: Event, col: any) => any) | undefined;
85
- }>, {
86
- data: Record<string, unknown>[];
87
- isFirstColFixed: boolean;
88
- isLastColFixed: boolean;
89
- colsResizable: boolean;
90
- lockScroll: boolean;
91
- subheader: boolean;
92
- virtualizer: {
93
- paddingTop: number;
94
- paddingBottom: number;
95
- };
96
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
97
- declare const __VLS_component: import("vue").DefineComponent<Props, {
98
- tbodyElement: import("vue").Ref<HTMLElement | null, HTMLElement | null>;
99
- }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
100
- scroll: (val: Event) => any;
101
- "col-resize": (colIndex: number, width: number) => any;
102
- "click-filter-icon": (val: Event, col: any) => any;
103
- }, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
104
- onScroll?: ((val: Event) => any) | undefined;
105
- "onCol-resize"?: ((colIndex: number, width: number) => any) | undefined;
106
- "onClick-filter-icon"?: ((val: Event, col: any) => any) | undefined;
107
- }>, {
108
- data: Record<string, unknown>[];
109
- isFirstColFixed: boolean;
110
- isLastColFixed: boolean;
111
- colsResizable: boolean;
112
- lockScroll: boolean;
113
- subheader: boolean;
114
- virtualizer: {
115
- paddingTop: number;
116
- paddingBottom: number;
117
- };
118
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
119
- declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
120
- export default _default;
121
- type __VLS_WithSlots<T, S> = T & {
122
- new (): {
123
- $slots: S;
48
+ emit: {
49
+ (e: "scroll", val: Event): void;
50
+ (e: "click-filter-icon", val: Event, col: any): void;
51
+ (e: "col-resize", colIndex: number, width: number): void;
124
52
  };
53
+ }>) => import("vue").VNode & {
54
+ __ctx?: Awaited<typeof __VLS_setup>;
125
55
  };
56
+ export default _default;
57
+ type __VLS_PrettifyLocal<T> = {
58
+ [K in keyof T]: T[K];
59
+ } & {};
package/dist/squirrel.css CHANGED
@@ -1128,32 +1128,35 @@ to {
1128
1128
  background-image: url("data:image/svg+xml,%3csvg%20width='33'%20height='30'%20viewBox='0%200%2033%2030'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M31.0143%2029.9524C31.1862%2029.9516%2031.3551%2029.9066%2031.5045%2029.8215C31.6539%2029.7365%2031.7789%2029.6144%2031.8674%2029.4669C31.9558%2029.3195%2032.0048%2029.1517%2032.0095%2028.9799C32.0142%2028.808%2031.9745%2028.6378%2031.8943%2028.4857L16.8943%200.485744C16.8006%200.337008%2016.6708%200.214443%2016.5169%200.129498C16.363%200.0445534%2016.1901%200%2016.0143%200C15.8385%200%2015.6656%200.0445534%2015.5117%200.129498C15.3578%200.214443%2015.228%200.337008%2015.1343%200.485744L0.134286%2028.4857C0.0463617%2028.6353%200%2028.8056%200%2028.9791C0%2029.1526%200.0463617%2029.3229%200.134286%2029.4724C0.221436%2029.6207%200.346313%2029.7432%200.496207%2029.8275C0.6461%2029.9118%200.815658%2029.9549%200.98762%2029.9524H31.0143ZM16.0143%2026.2857C15.6176%2026.2857%2015.2299%2026.1677%2014.9004%2025.9467C14.571%2025.7258%2014.3147%2025.4118%2014.1641%2025.0448C14.0136%2024.6778%2013.9755%2024.2743%2014.0549%2023.8857C14.1342%2023.497%2014.3274%2023.1407%2014.6098%2022.8621C14.8922%2022.5835%2015.251%2022.3951%2015.6407%2022.321C16.0304%2022.2468%2016.4334%2022.2903%2016.7983%2022.4458C17.1633%2022.6012%2017.4737%2022.8617%2017.6903%2023.1941C17.9068%2023.5265%2018.0196%2023.9158%2018.0143%2024.3124C18.0073%2024.8382%2017.7935%2025.3401%2017.4192%2025.7094C17.0448%2026.0787%2016.5401%2026.2858%2016.0143%2026.2857ZM16.0143%209.95241C16.3679%209.95241%2016.707%2010.0929%2016.9571%2010.3429C17.2071%2010.593%2017.3476%2010.9321%2017.3476%2011.2857V18.5791C17.3476%2018.9327%2017.2071%2019.2718%2016.9571%2019.5219C16.707%2019.7719%2016.3679%2019.9124%2016.0143%2019.9124C15.6607%2019.9124%2015.3215%2019.7719%2015.0715%2019.5219C14.8214%2019.2718%2014.681%2018.9327%2014.681%2018.5791V11.2857C14.681%2010.9321%2014.8214%2010.593%2015.0715%2010.3429C15.3215%2010.0929%2015.6607%209.95241%2016.0143%209.95241Z'%20fill='%23F2C94C'%20/%3e%3c/svg%3e");
1129
1129
  }
1130
1130
 
1131
- /*# sourceMappingURL=squirrel.css.map */.p-table[data-v-46ca3ab3] {
1131
+ /*# sourceMappingURL=squirrel.css.map */.p-table[data-v-ab73279a] {
1132
1132
  color: rgb(var(--color-night));
1133
1133
  height: 1px;
1134
1134
  }
1135
- .p-table th[data-v-46ca3ab3] {
1135
+ .p-table th[data-v-ab73279a] {
1136
1136
  position: sticky;
1137
1137
  top: 0px;
1138
1138
  z-index: 20;
1139
1139
  padding: 0px;
1140
1140
  }
1141
- .p-table.first-col-fixed th[data-v-46ca3ab3]:first-child {
1141
+ .p-table.first-col-fixed th[data-v-ab73279a]:first-child {
1142
1142
  left: 0px;
1143
1143
  z-index: 30;
1144
1144
  }
1145
- .p-table.first-col-fixed th:first-child .th-shadow[data-v-46ca3ab3] {
1145
+ .p-table.first-col-fixed th:first-child .th-shadow[data-v-ab73279a] {
1146
1146
  box-shadow: -1px 1px 5px 4px rgba(0, 0, 0, 0.15);
1147
1147
  clip-path: inset(0px -12px 0px 0px);
1148
1148
  }
1149
- .p-table.last-col-fixed th[data-v-46ca3ab3]:last-child {
1149
+ .p-table.last-col-fixed th[data-v-ab73279a]:last-child {
1150
1150
  right: 0px;
1151
1151
  z-index: 30;
1152
1152
  }
1153
- .p-table.last-col-fixed th:last-child .th-shadow[data-v-46ca3ab3] {
1153
+ .p-table.last-col-fixed th:last-child .th-shadow[data-v-ab73279a] {
1154
1154
  box-shadow: -2px 1px 8px rgba(0, 0, 0, 0.15);
1155
1155
  clip-path: inset(0px 0px 0px -12px);
1156
1156
  }
1157
- [data-v-46ca3ab3] .p-table tr:last-child td {
1157
+ [data-v-ab73279a] .p-table tr:last-child td {
1158
1158
  border-bottom-width: 0px;
1159
+ }
1160
+ [data-v-ab73279a] .p-table tr:last-child td.td-col-fixed-border-b::after {
1161
+ height: 0px;
1159
1162
  }
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@pequity/squirrel",
3
3
  "description": "Squirrel component library",
4
- "version": "7.2.2",
5
- "packageManager": "pnpm@9.15.9",
4
+ "version": "7.2.4",
5
+ "packageManager": "pnpm@10.6.4",
6
6
  "type": "module",
7
7
  "scripts": {
8
8
  "preinstall": "npx only-allow pnpm",
@@ -53,30 +53,30 @@
53
53
  "@playwright/test": "^1.51.1",
54
54
  "@semantic-release/changelog": "^6.0.3",
55
55
  "@semantic-release/git": "^10.0.1",
56
- "@storybook/addon-a11y": "^8.6.7",
57
- "@storybook/addon-actions": "^8.6.7",
58
- "@storybook/addon-essentials": "^8.6.7",
59
- "@storybook/addon-interactions": "^8.6.7",
60
- "@storybook/addon-links": "^8.6.7",
61
- "@storybook/blocks": "^8.6.7",
62
- "@storybook/manager-api": "^8.6.7",
63
- "@storybook/test": "^8.6.7",
56
+ "@storybook/addon-a11y": "^8.6.11",
57
+ "@storybook/addon-actions": "^8.6.11",
58
+ "@storybook/addon-essentials": "^8.6.11",
59
+ "@storybook/addon-interactions": "^8.6.11",
60
+ "@storybook/addon-links": "^8.6.11",
61
+ "@storybook/blocks": "^8.6.11",
62
+ "@storybook/manager-api": "^8.6.11",
63
+ "@storybook/test": "^8.6.11",
64
64
  "@storybook/test-runner": "^0.22.0",
65
- "@storybook/theming": "^8.6.7",
66
- "@storybook/vue3": "^8.6.7",
67
- "@storybook/vue3-vite": "^8.6.7",
68
- "@tanstack/vue-virtual": "3.13.4",
65
+ "@storybook/theming": "^8.6.11",
66
+ "@storybook/vue3": "^8.6.11",
67
+ "@storybook/vue3-vite": "^8.6.11",
68
+ "@tanstack/vue-virtual": "3.13.6",
69
69
  "@types/jsdom": "^21.1.7",
70
70
  "@types/lodash-es": "^4.17.12",
71
- "@types/node": "^22.13.11",
71
+ "@types/node": "^22.13.17",
72
72
  "@vitejs/plugin-vue": "^5.2.3",
73
- "@vitest/coverage-v8": "^3.0.9",
73
+ "@vitest/coverage-v8": "^3.1.1",
74
74
  "@vue/compiler-sfc": "3.5.13",
75
75
  "@vue/test-utils": "^2.4.6",
76
76
  "@vuepic/vue-datepicker": "11.0.2",
77
77
  "autoprefixer": "^10.4.21",
78
- "eslint": "^9.22.0",
79
- "eslint-plugin-storybook": "^0.11.6",
78
+ "eslint": "^9.23.0",
79
+ "eslint-plugin-storybook": "^0.12.0",
80
80
  "floating-vue": "5.2.2",
81
81
  "glob": "^11.0.1",
82
82
  "husky": "^9.1.7",
@@ -90,14 +90,14 @@
90
90
  "prettier-plugin-tailwindcss": "^0.6.11",
91
91
  "resolve-tspaths": "^0.8.23",
92
92
  "rimraf": "^6.0.1",
93
- "sass": "^1.86.0",
93
+ "sass": "^1.86.1",
94
94
  "semantic-release": "^24.2.3",
95
- "storybook": "^8.6.7",
95
+ "storybook": "^8.6.11",
96
96
  "svgo": "^3.3.2",
97
97
  "tailwindcss": "^3.4.17",
98
98
  "typescript": "5.8.2",
99
- "vite": "^6.2.2",
100
- "vitest": "^3.0.9",
99
+ "vite": "^6.2.4",
100
+ "vitest": "^3.1.1",
101
101
  "vue": "3.5.13",
102
102
  "vue-currency-input": "3.2.1",
103
103
  "vue-router": "4.5.0",
@@ -308,6 +308,8 @@ describe('PDropdownSelect.vue', () => {
308
308
  });
309
309
 
310
310
  it('displays a message when the search term was not found', async () => {
311
+ useVirtualizer.mockImplementation(() => createMockedVirtualizer(20));
312
+
311
313
  const wrapper = createWrapper({ selected: 17 }, { searchable: true });
312
314
 
313
315
  const button = wrapper.find('button');
@@ -315,7 +317,9 @@ describe('PDropdownSelect.vue', () => {
315
317
  await button.trigger('click');
316
318
 
317
319
  // We need to `sleep` here to wait for the the apply-show event to be emitted
318
- await sleep(100);
320
+ await sleep(300);
321
+ await waitRAF();
322
+ await wrapper.vm.$nextTick();
319
323
 
320
324
  const inputSearch = wrapper.find('input.text-night');
321
325
 
@@ -753,7 +757,9 @@ describe('PDropdownSelect.vue', () => {
753
757
  describe('creatable functionality', () => {
754
758
  it('shows create option when no items match search and creatable is true', async () => {
755
759
  useVirtualizer.mockImplementation(() => createMockedVirtualizer(20));
760
+
756
761
  const wrapper = createWrapper({ selected: null }, { searchable: true, creatable: true });
762
+
757
763
  await wrapper.find('button').trigger('click');
758
764
  await sleep(200);
759
765
  const searchInput = wrapper.find('input.text-night');
@@ -761,6 +767,7 @@ describe('PDropdownSelect.vue', () => {
761
767
  const createButton = wrapper.find('button.hover\\:text-primary-hover');
762
768
  expect(createButton.exists()).toBe(true);
763
769
  expect(createButton.text()).toBe("Add 'New Item'");
770
+
764
771
  cleanup(wrapper);
765
772
  });
766
773
 
@@ -771,6 +778,7 @@ describe('PDropdownSelect.vue', () => {
771
778
  await sleep(200);
772
779
  const noItemsMessage = wrapper.find('div.flex.items-center.justify-center.h-10.text-base');
773
780
  expect(noItemsMessage.text()).toBe('No items found. Type to add');
781
+
774
782
  cleanup(wrapper);
775
783
  });
776
784
 
@@ -784,6 +792,7 @@ describe('PDropdownSelect.vue', () => {
784
792
  const createButton = wrapper.find('button.hover\\:text-primary-hover');
785
793
  expect(createButton.exists()).toBe(false);
786
794
  expect(wrapper.text()).toContain('No items found');
795
+
787
796
  cleanup(wrapper);
788
797
  });
789
798
 
@@ -799,6 +808,7 @@ describe('PDropdownSelect.vue', () => {
799
808
  const pDropdownSelectCmp = wrapper.findComponent(PDropdownSelect);
800
809
  expect(pDropdownSelectCmp.emitted().create[0]).toEqual(['New Item']);
801
810
  expect(wrapper.find('.pdropdown-stub-popper').exists()).toBe(false);
811
+
802
812
  cleanup(wrapper);
803
813
  });
804
814
 
@@ -814,6 +824,7 @@ describe('PDropdownSelect.vue', () => {
814
824
  const pDropdownSelectCmp = wrapper.findComponent(PDropdownSelect);
815
825
  expect(pDropdownSelectCmp.emitted()['update:modelValue']).toBeFalsy();
816
826
  expect(wrapper.vm.$data.selected).toBe(null);
827
+
817
828
  cleanup(wrapper);
818
829
  });
819
830
 
@@ -830,6 +841,7 @@ describe('PDropdownSelect.vue', () => {
830
841
  expect(pDropdownSelectCmp.emitted().create[0]).toEqual(['New Item']);
831
842
  expect(pDropdownSelectCmp.emitted()['update:modelValue']).toBeFalsy();
832
843
  expect(wrapper.vm.$data.selected).toBe(null);
844
+
833
845
  cleanup(wrapper);
834
846
  });
835
847
 
@@ -854,6 +866,7 @@ describe('PDropdownSelect.vue', () => {
854
866
  const pDropdownSelectCmp = wrapper.findComponent(PDropdownSelect);
855
867
  expect(pDropdownSelectCmp.emitted().create[0]).toEqual(['New Item']);
856
868
  expect(pDropdownSelectCmp.emitted()['update:modelValue']).toBeFalsy();
869
+
857
870
  cleanup(wrapper);
858
871
  });
859
872
  });
@@ -99,7 +99,7 @@
99
99
  </div>
100
100
  </template>
101
101
 
102
- <script setup lang="ts">
102
+ <script setup lang="ts" generic="T extends Record<string, unknown>">
103
103
  import {
104
104
  colsInjectionKey,
105
105
  isColsResizableInjectionKey,
@@ -124,7 +124,7 @@ type Props = {
124
124
  paddingTop: number;
125
125
  paddingBottom: number;
126
126
  };
127
- data?: Record<string, unknown>[];
127
+ data?: T[];
128
128
  };
129
129
 
130
130
  defineOptions({ name: 'PTable' });
@@ -289,7 +289,13 @@ defineExpose({
289
289
  box-shadow: -2px 1px 8px rgba(0, 0, 0, 0.15);
290
290
  clip-path: inset(0px 0px 0px -12px);
291
291
  }
292
+
293
+ // Fix for double border bottom on the last row
292
294
  :deep(.p-table) tr:last-child td {
293
295
  @apply border-b-0;
296
+
297
+ &.td-col-fixed-border-b::after {
298
+ @apply h-0;
299
+ }
294
300
  }
295
301
  </style>