@pequity/squirrel 7.0.3 → 7.1.1

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.
Files changed (29) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/chunks/p-btn.js +22 -26
  3. package/dist/cjs/chunks/p-select-btn.js +1 -1
  4. package/dist/cjs/p-chips.js +2 -3
  5. package/dist/cjs/p-icon.js +2 -1
  6. package/dist/cjs/p-input-search.js +93 -82
  7. package/dist/es/chunks/p-btn.js +23 -27
  8. package/dist/es/chunks/p-select-btn.js +1 -1
  9. package/dist/es/p-chips.js +2 -3
  10. package/dist/es/p-icon.js +2 -1
  11. package/dist/es/p-input-search.js +93 -82
  12. package/dist/squirrel/components/p-btn/p-btn.vue.d.ts +6 -6
  13. package/dist/squirrel/components/p-chips/p-chips.vue.d.ts +0 -2
  14. package/dist/squirrel/components/p-icon/p-icon.types.d.ts +1 -0
  15. package/dist/squirrel/components/p-input-search/p-input-search.vue.d.ts +7 -164
  16. package/dist/squirrel.css +2 -76
  17. package/package.json +23 -20
  18. package/squirrel/components/p-btn/p-btn.spec.js +33 -35
  19. package/squirrel/components/p-btn/p-btn.vue +24 -28
  20. package/squirrel/components/p-chips/p-chips.vue +0 -1
  21. package/squirrel/components/p-dropdown-select/p-dropdown-select.spec.js +1 -1
  22. package/squirrel/components/p-icon/p-icon.types.ts +1 -0
  23. package/squirrel/components/p-input-search/p-input-search.spec.js +4 -4
  24. package/squirrel/components/p-input-search/p-input-search.vue +77 -137
  25. package/squirrel/components/p-select-btn/p-select-btn.vue +1 -1
  26. package/squirrel/components/p-select-list/p-select-list.spec.js +1 -1
  27. package/squirrel/assets/clear-input-faded.svg +0 -10
  28. package/squirrel/assets/clear-input-hovered.svg +0 -10
  29. package/squirrel/assets/magnifying-glass.svg +0 -10
@@ -1,13 +1,14 @@
1
+ import { defineComponent, ref, useTemplateRef, watch, resolveDirective, createBlock, openBlock, mergeProps, withKeys, withCtx, withDirectives, createCommentVNode, createElementBlock, normalizeClass, createVNode } from "vue";
1
2
  import { S as SIZES } from "./chunks/p-btn.types.js";
3
+ import { _ as _sfc_main$2 } from "./chunks/p-icon.js";
2
4
  import { _ as _sfc_main$1 } from "./chunks/p-input.js";
3
- import { defineComponent, resolveComponent, resolveDirective, createBlock, openBlock, mergeProps, withKeys, withCtx, withDirectives, createCommentVNode, createElementBlock, normalizeClass, createElementVNode } from "vue";
4
5
  import { _ as _export_sfc } from "./chunks/_plugin-vue_export-helper.js";
5
- const _sfc_main = defineComponent({
6
- name: "PInputSearch",
7
- components: {
8
- PInput: _sfc_main$1
6
+ const _sfc_main = /* @__PURE__ */ defineComponent({
7
+ ...{
8
+ name: "PInputSearch",
9
+ inheritAttrs: false
9
10
  },
10
- inheritAttrs: false,
11
+ __name: "p-input-search",
11
12
  props: {
12
13
  modelValue: {
13
14
  type: String,
@@ -26,88 +27,98 @@ const _sfc_main = defineComponent({
26
27
  }
27
28
  },
28
29
  emits: ["update:modelValue", "enter"],
29
- data() {
30
- return {
31
- query: this.modelValue,
32
- showEnterIconOnFocus: false
30
+ setup(__props, { emit: __emit }) {
31
+ const emit = __emit;
32
+ const props = __props;
33
+ const searchIconClasses = {
34
+ sm: "text-xs top-2.5 left-2",
35
+ md: "text-base top-3 left-3",
36
+ lg: "text-lg top-4 left-5"
33
37
  };
34
- },
35
- computed: {
36
- searchIconClasses() {
37
- return `search search-${this.size}`;
38
- },
39
- enterIconClasses() {
40
- return `enter enter-${this.size}`;
41
- },
42
- clearIconClasses() {
43
- return `clear clear-${this.size}`;
44
- }
45
- },
46
- watch: {
47
- modelValue(value) {
48
- this.query = value;
49
- },
50
- query(value) {
51
- this.$emit("update:modelValue", value);
52
- }
53
- },
54
- methods: {
55
- clearSearch() {
56
- this.query = "";
38
+ const clearIconClasses = {
39
+ sm: "text-base top-1.5 right-2",
40
+ md: "text-xl top-2 right-2.5",
41
+ lg: "text-3xl top-[5px] right-2.5"
42
+ };
43
+ const enterIconClasses = {
44
+ sm: "bg-[length:1rem_1rem] w-[1rem] h-[1rem] right-7 top-2",
45
+ md: "bg-[length:1.5rem_1.5rem] w-[1.5rem] h-[1.5rem] right-9 top-2",
46
+ lg: "bg-[length:2rem_2rem] w-[2rem] h-[2rem] right-[46px] top-2"
47
+ };
48
+ const showEnterIconOnFocus = ref(false);
49
+ const searchInput = useTemplateRef("searchInput");
50
+ const query = ref(props.modelValue);
51
+ watch(
52
+ () => props.modelValue,
53
+ (nV) => {
54
+ query.value = nV;
55
+ }
56
+ );
57
+ watch(query, (nV) => {
58
+ emit("update:modelValue", nV);
59
+ });
60
+ const clearSearch = () => {
61
+ query.value = "";
57
62
  requestAnimationFrame(() => {
58
63
  var _a;
59
- (_a = this.$refs.searchInput) == null ? void 0 : _a.$el.querySelector("input").focus();
64
+ (_a = searchInput.value) == null ? void 0 : _a.$el.querySelector("input").focus();
60
65
  });
61
- },
62
- keydownEnter() {
63
- this.$emit("enter", this.query);
64
- }
66
+ };
67
+ const keydownEnter = () => {
68
+ emit("enter", query.value);
69
+ };
70
+ return (_ctx, _cache) => {
71
+ const _directive_tooltip = resolveDirective("tooltip");
72
+ return openBlock(), createBlock(_sfc_main$1, mergeProps({
73
+ ref_key: "searchInput",
74
+ ref: searchInput,
75
+ modelValue: query.value,
76
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => query.value = $event),
77
+ size: __props.size
78
+ }, _ctx.$attrs, {
79
+ role: "searchbox",
80
+ rounded: "",
81
+ onFocus: _cache[1] || (_cache[1] = ($event) => showEnterIconOnFocus.value = true),
82
+ onFocusout: _cache[2] || (_cache[2] = ($event) => showEnterIconOnFocus.value = false),
83
+ onKeydown: withKeys(keydownEnter, ["enter"])
84
+ }), {
85
+ prefix: withCtx(() => [
86
+ createVNode(_sfc_main$2, {
87
+ icon: "search",
88
+ class: normalizeClass(["absolute text-p-gray-40", searchIconClasses[__props.size]])
89
+ }, null, 8, ["class"])
90
+ ]),
91
+ suffix: withCtx(() => [
92
+ query.value && __props.showEnterIcon && showEnterIconOnFocus.value ? withDirectives((openBlock(), createElementBlock("i", {
93
+ key: 0,
94
+ class: normalizeClass(["enter absolute bg-no-repeat outline-none", enterIconClasses[__props.size]])
95
+ }, null, 2)), [
96
+ [
97
+ _directive_tooltip,
98
+ { content: "Press enter to search", delay: { show: 100, hide: 0 } },
99
+ void 0,
100
+ { bottom: true }
101
+ ]
102
+ ]) : createCommentVNode("", true),
103
+ query.value ? (openBlock(), createElementBlock("button", {
104
+ key: 1,
105
+ role: "button",
106
+ "aria-label": "Clear search input",
107
+ class: normalizeClass(["absolute cursor-pointer", clearIconClasses[__props.size]]),
108
+ onClick: clearSearch
109
+ }, [
110
+ createVNode(_sfc_main$2, {
111
+ icon: "cancel-circle",
112
+ class: "text-p-gray-40 hover:text-p-gray-50"
113
+ })
114
+ ], 2)) : createCommentVNode("", true)
115
+ ]),
116
+ _: 1
117
+ }, 16, ["modelValue", "size"]);
118
+ };
65
119
  }
66
120
  });
67
- function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
68
- const _component_PInput = resolveComponent("PInput");
69
- const _directive_tooltip = resolveDirective("tooltip");
70
- return openBlock(), createBlock(_component_PInput, mergeProps({
71
- ref: "searchInput",
72
- modelValue: _ctx.query,
73
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => _ctx.query = $event),
74
- size: _ctx.size
75
- }, _ctx.$attrs, {
76
- role: "searchbox",
77
- rounded: "",
78
- onFocus: _cache[2] || (_cache[2] = ($event) => _ctx.showEnterIconOnFocus = true),
79
- onFocusout: _cache[3] || (_cache[3] = ($event) => _ctx.showEnterIconOnFocus = false),
80
- onKeydown: withKeys(_ctx.keydownEnter, ["enter"])
81
- }), {
82
- prefix: withCtx(() => [
83
- createElementVNode("i", {
84
- class: normalizeClass(["icon absolute bg-no-repeat outline-none", _ctx.searchIconClasses])
85
- }, null, 2)
86
- ]),
87
- suffix: withCtx(() => [
88
- _ctx.query && _ctx.showEnterIcon && _ctx.showEnterIconOnFocus ? withDirectives((openBlock(), createElementBlock("i", {
89
- key: 0,
90
- class: normalizeClass(["icon absolute bg-no-repeat outline-none", _ctx.enterIconClasses])
91
- }, null, 2)), [
92
- [
93
- _directive_tooltip,
94
- { content: "Press enter to search", delay: { show: 100, hide: 0 } },
95
- void 0,
96
- { bottom: true }
97
- ]
98
- ]) : createCommentVNode("", true),
99
- _ctx.query ? (openBlock(), createElementBlock("button", {
100
- key: 1,
101
- role: "button",
102
- "aria-label": "Clear search input",
103
- class: normalizeClass(["icon absolute cursor-pointer bg-no-repeat", _ctx.clearIconClasses]),
104
- onClick: _cache[0] || (_cache[0] = (...args) => _ctx.clearSearch && _ctx.clearSearch(...args))
105
- }, null, 2)) : createCommentVNode("", true)
106
- ]),
107
- _: 1
108
- }, 16, ["modelValue", "size", "onKeydown"]);
109
- }
110
- const PInputSearch = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-78b7a6f8"]]);
121
+ const PInputSearch = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-ebc375ff"]]);
111
122
  export {
112
123
  PInputSearch as default
113
124
  };
@@ -51,7 +51,7 @@ declare const btn: import("tailwind-variants").TVReturnType<{
51
51
  readonly sm: {
52
52
  readonly button: "px-3 has-[.slot-wrapper:empty]:px-1.5 py-1.5 text-sm leading-5";
53
53
  readonly content: "gap-1";
54
- readonly icon: "text-[20px]";
54
+ readonly icon: "text-base p-0.5";
55
55
  };
56
56
  readonly md: {
57
57
  readonly button: "px-6 has-[.slot-wrapper:empty]:px-2.5 has-[.slot-wrapper:empty]:py-2.5 py-2 text-base";
@@ -116,7 +116,7 @@ declare const btn: import("tailwind-variants").TVReturnType<{
116
116
  readonly sm: {
117
117
  readonly button: "px-3 has-[.slot-wrapper:empty]:px-1.5 py-1.5 text-sm leading-5";
118
118
  readonly content: "gap-1";
119
- readonly icon: "text-[20px]";
119
+ readonly icon: "text-base p-0.5";
120
120
  };
121
121
  readonly md: {
122
122
  readonly button: "px-6 has-[.slot-wrapper:empty]:px-2.5 has-[.slot-wrapper:empty]:py-2.5 py-2 text-base";
@@ -181,7 +181,7 @@ declare const btn: import("tailwind-variants").TVReturnType<{
181
181
  readonly sm: {
182
182
  readonly button: "px-3 has-[.slot-wrapper:empty]:px-1.5 py-1.5 text-sm leading-5";
183
183
  readonly content: "gap-1";
184
- readonly icon: "text-[20px]";
184
+ readonly icon: "text-base p-0.5";
185
185
  };
186
186
  readonly md: {
187
187
  readonly button: "px-6 has-[.slot-wrapper:empty]:px-2.5 has-[.slot-wrapper:empty]:py-2.5 py-2 text-base";
@@ -320,16 +320,16 @@ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<import("vu
320
320
  default: string;
321
321
  };
322
322
  }>> & Readonly<{}>, {
323
- icon: "delete" | "edit" | "send" | "settings" | "empty" | "chevron-left" | "chevron-right" | "chevron-up" | "chevron-down" | "ok-circle" | "cancel-circle" | "ok" | "cancel" | "ok-bold" | "cancel-bold" | "archive" | "lock" | "drag-horizontal" | "email" | "location" | "calendar" | "save" | "copy" | "plus" | "add" | "more" | "filters" | "bar-chart" | "list" | "formula" | "refresh" | "download" | "upload" | "info" | (string & {});
323
+ icon: "delete" | "edit" | "send" | "settings" | "empty" | "chevron-left" | "chevron-right" | "chevron-up" | "chevron-down" | "ok-circle" | "cancel-circle" | "ok" | "cancel" | "ok-bold" | "cancel-bold" | "archive" | "lock" | "drag-horizontal" | "email" | "location" | "calendar" | "save" | "copy" | "plus" | "add" | "more" | "filters" | "bar-chart" | "list" | "formula" | "refresh" | "download" | "upload" | "info" | "search" | (string & {});
324
324
  size: "sm" | "md" | "lg";
325
325
  type: ButtonType;
326
326
  nativeType: "reset" | "submit" | "button";
327
327
  loading: boolean;
328
328
  selected: boolean;
329
329
  to: string | import("vue-router").RouteLocationAsRelativeGeneric | import("vue-router").RouteLocationAsPathGeneric;
330
- iconRight: "delete" | "edit" | "send" | "settings" | "empty" | "chevron-left" | "chevron-right" | "chevron-up" | "chevron-down" | "ok-circle" | "cancel-circle" | "ok" | "cancel" | "ok-bold" | "cancel-bold" | "archive" | "lock" | "drag-horizontal" | "email" | "location" | "calendar" | "save" | "copy" | "plus" | "add" | "more" | "filters" | "bar-chart" | "list" | "formula" | "refresh" | "download" | "upload" | "info" | (string & {});
330
+ iconRight: "delete" | "edit" | "send" | "settings" | "empty" | "chevron-left" | "chevron-right" | "chevron-up" | "chevron-down" | "ok-circle" | "cancel-circle" | "ok" | "cancel" | "ok-bold" | "cancel-bold" | "archive" | "lock" | "drag-horizontal" | "email" | "location" | "calendar" | "save" | "copy" | "plus" | "add" | "more" | "filters" | "bar-chart" | "list" | "formula" | "refresh" | "download" | "upload" | "info" | "search" | (string & {});
331
331
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, {
332
- default?: (((props: {}) => any) & ((props: {}) => any)) | undefined;
332
+ default?: ((props: {}) => any) | undefined;
333
333
  }>;
334
334
  export default _default;
335
335
  type __VLS_WithSlots<T, S> = T & {
@@ -2,7 +2,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
2
2
  items: {
3
3
  type: ArrayConstructor;
4
4
  default: () => never[];
5
- required: true;
6
5
  };
7
6
  itemText: {
8
7
  type: StringConstructor;
@@ -17,7 +16,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
17
16
  items: {
18
17
  type: ArrayConstructor;
19
18
  default: () => never[];
20
- required: true;
21
19
  };
22
20
  itemText: {
23
21
  type: StringConstructor;
@@ -33,5 +33,6 @@ export declare const P_ICON_ALIASES: {
33
33
  readonly download: "tdesign:download";
34
34
  readonly upload: "tdesign:upload";
35
35
  readonly info: "streamline:information-circle";
36
+ readonly search: "streamline:magnifying-glass-solid";
36
37
  };
37
38
  export type PIconAlias = keyof typeof P_ICON_ALIASES;
@@ -14,17 +14,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
14
14
  type: BooleanConstructor;
15
15
  default: boolean;
16
16
  };
17
- }>, {}, {
18
- query: string;
19
- showEnterIconOnFocus: boolean;
20
- }, {
21
- searchIconClasses(): string;
22
- enterIconClasses(): string;
23
- clearIconClasses(): string;
24
- }, {
25
- clearSearch(): void;
26
- keydownEnter(): void;
27
- }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:modelValue" | "enter")[], "update:modelValue" | "enter", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
17
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
18
+ "update:modelValue": (value: string) => any;
19
+ enter: (value: string) => any;
20
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
28
21
  modelValue: {
29
22
  type: StringConstructor;
30
23
  default: string;
@@ -39,161 +32,11 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
39
32
  default: boolean;
40
33
  };
41
34
  }>> & Readonly<{
42
- "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
43
- onEnter?: ((...args: any[]) => any) | undefined;
35
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
36
+ onEnter?: ((value: string) => any) | undefined;
44
37
  }>, {
45
38
  size: "sm" | "md" | "lg";
46
39
  modelValue: string;
47
40
  showEnterIcon: boolean;
48
- }, {}, {
49
- PInput: {
50
- new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
51
- modelValue: {
52
- type: PropType<string | number | boolean | null>;
53
- default: string;
54
- };
55
- type: {
56
- type: PropType<string>;
57
- default: string;
58
- validator(value: string): boolean;
59
- };
60
- label: {
61
- type: StringConstructor;
62
- default: string;
63
- };
64
- errorMsg: {
65
- type: StringConstructor;
66
- default: string;
67
- };
68
- required: {
69
- type: BooleanConstructor;
70
- default: boolean;
71
- };
72
- size: {
73
- type: PropType<Size>;
74
- default: string;
75
- validator(value: Size): boolean;
76
- };
77
- rounded: {
78
- type: BooleanConstructor;
79
- default: boolean;
80
- };
81
- }>> & Readonly<{
82
- "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
83
- }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
84
- "update:modelValue": (...args: any[]) => void;
85
- }, import("vue").PublicProps, {
86
- size: "sm" | "md" | "lg";
87
- type: string;
88
- label: string;
89
- required: boolean;
90
- modelValue: string | number | boolean | null;
91
- rounded: boolean;
92
- errorMsg: string;
93
- }, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
94
- P: {};
95
- B: {};
96
- D: {};
97
- C: {};
98
- M: {};
99
- Defaults: {};
100
- }, Readonly<import("vue").ExtractPropTypes<{
101
- modelValue: {
102
- type: PropType<string | number | boolean | null>;
103
- default: string;
104
- };
105
- type: {
106
- type: PropType<string>;
107
- default: string;
108
- validator(value: string): boolean;
109
- };
110
- label: {
111
- type: StringConstructor;
112
- default: string;
113
- };
114
- errorMsg: {
115
- type: StringConstructor;
116
- default: string;
117
- };
118
- required: {
119
- type: BooleanConstructor;
120
- default: boolean;
121
- };
122
- size: {
123
- type: PropType<Size>;
124
- default: string;
125
- validator(value: Size): boolean;
126
- };
127
- rounded: {
128
- type: BooleanConstructor;
129
- default: boolean;
130
- };
131
- }>> & Readonly<{
132
- "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
133
- }>, {}, {}, {}, {}, {
134
- size: "sm" | "md" | "lg";
135
- type: string;
136
- label: string;
137
- required: boolean;
138
- modelValue: string | number | boolean | null;
139
- rounded: boolean;
140
- errorMsg: string;
141
- }>;
142
- __isFragment?: never;
143
- __isTeleport?: never;
144
- __isSuspense?: never;
145
- } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
146
- modelValue: {
147
- type: PropType<string | number | boolean | null>;
148
- default: string;
149
- };
150
- type: {
151
- type: PropType<string>;
152
- default: string;
153
- validator(value: string): boolean;
154
- };
155
- label: {
156
- type: StringConstructor;
157
- default: string;
158
- };
159
- errorMsg: {
160
- type: StringConstructor;
161
- default: string;
162
- };
163
- required: {
164
- type: BooleanConstructor;
165
- default: boolean;
166
- };
167
- size: {
168
- type: PropType<Size>;
169
- default: string;
170
- validator(value: Size): boolean;
171
- };
172
- rounded: {
173
- type: BooleanConstructor;
174
- default: boolean;
175
- };
176
- }>> & Readonly<{
177
- "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
178
- }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
179
- "update:modelValue": (...args: any[]) => void;
180
- }, string, {
181
- size: "sm" | "md" | "lg";
182
- type: string;
183
- label: string;
184
- required: boolean;
185
- modelValue: string | number | boolean | null;
186
- rounded: boolean;
187
- errorMsg: string;
188
- }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
189
- $slots: {
190
- label?: ((props: {
191
- label: string;
192
- labelClasses: string;
193
- }) => any) | undefined;
194
- prefix?: ((props: {}) => any) | undefined;
195
- suffix?: ((props: {}) => any) | undefined;
196
- };
197
- });
198
- }, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
41
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
199
42
  export default _default;
package/dist/squirrel.css CHANGED
@@ -149,7 +149,7 @@ input[type='checkbox'][data-v-81cd6154]:checked {
149
149
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3E%3C/svg%3E");
150
150
  }
151
151
 
152
- .bg-cross[data-v-c4e84a46] {
152
+ .bg-cross[data-v-57d9f151] {
153
153
  background-image: url("data:image/svg+xml,%3csvg%20width='6'%20height='6'%20viewBox='0%200%206%206'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_2511_8629)'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M3%203.51667L5.42083%205.9375L5.9375%205.42083L3.51667%203L5.9375%200.57917L5.42083%200.0625L3%202.48333L0.57917%200.0625L0.0625%200.57917L2.48333%203L0.0625%205.42083L0.57917%205.9375L3%203.51667Z'%20fill='%231A123B'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_2511_8629'%3e%3crect%20width='6'%20height='6'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e");
154
154
  }
155
155
  .drawer[data-v-95d3e794] {
@@ -263,82 +263,8 @@ from {
263
263
  to {
264
264
  opacity: 0;
265
265
  }
266
- }.icon.clear[data-v-78b7a6f8] {
267
- 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%3cg%20clip-path='url(%23clip0_1634_880)'%3e%3cpath%20d='M16%208C16%206.41775%2015.5308%204.87104%2014.6518%203.55544C13.7727%202.23985%2012.5233%201.21447%2011.0615%200.608967C9.59966%200.00346629%207.99113%20-0.15496%206.43928%200.153721C4.88743%200.462403%203.46197%201.22433%202.34315%202.34315C1.22433%203.46197%200.462403%204.88743%200.153721%206.43928C-0.15496%207.99113%200.00346629%209.59966%200.608967%2011.0615C1.21447%2012.5233%202.23985%2013.7727%203.55544%2014.6518C4.87104%2015.5308%206.41775%2016%208%2016C10.1217%2016%2012.1566%2015.1571%2013.6569%2013.6569C15.1571%2012.1566%2016%2010.1217%2016%208ZM11.14%2010.1867C11.2642%2010.3116%2011.3339%2010.4805%2011.3339%2010.6567C11.3339%2010.8328%2011.2642%2011.0018%2011.14%2011.1267C11.078%2011.1892%2011.0043%2011.2388%2010.9231%2011.2726C10.8418%2011.3064%2010.7547%2011.3239%2010.6667%2011.3239C10.5787%2011.3239%2010.4915%2011.3064%2010.4103%2011.2726C10.329%2011.2388%2010.2553%2011.1892%2010.1933%2011.1267L8.12%209.05334C8.08809%209.02429%208.04649%209.0082%208.00334%209.0082C7.96019%209.0082%207.91858%209.02429%207.88667%209.05334L5.81334%2011.1267C5.6858%2011.2359%205.52175%2011.293%205.35397%2011.2865C5.18618%2011.28%205.02702%2011.2104%204.90829%2011.0917C4.78957%2010.973%204.72001%2010.8138%204.71353%2010.646C4.70705%2010.4783%204.76412%2010.3142%204.87334%2010.1867L6.94667%208.11334C6.97572%208.08142%206.99181%208.03982%206.99181%207.99667C6.99181%207.95352%206.97572%207.91192%206.94667%207.88L4.87334%205.80667C4.81085%205.7447%204.76126%205.67096%204.72741%205.58972C4.69356%205.50848%204.67614%205.42135%204.67614%205.33334C4.67614%205.24533%204.69356%205.15819%204.72741%205.07695C4.76126%204.99571%204.81085%204.92198%204.87334%204.86C4.99825%204.73584%205.16721%204.66614%205.34334%204.66614C5.51946%204.66614%205.68843%204.73584%205.81334%204.86L7.88667%206.93334C7.90163%206.94928%207.91971%206.96199%207.93977%206.97068C7.95984%206.97936%207.98147%206.98384%208.00334%206.98384C8.0252%206.98384%208.04684%206.97936%208.0669%206.97068C8.08697%206.96199%208.10504%206.94928%208.12%206.93334L10.1933%204.86C10.2555%204.79784%2010.3293%204.74854%2010.4105%204.7149C10.4917%204.68126%2010.5788%204.66394%2010.6667%204.66394C10.7546%204.66394%2010.8416%204.68126%2010.9228%204.7149C11.0041%204.74854%2011.0778%204.79784%2011.14%204.86C11.2022%204.92216%2011.2515%204.99596%2011.2851%205.07717C11.3188%205.15839%2011.3361%205.24543%2011.3361%205.33334C11.3361%205.42124%2011.3188%205.50829%2011.2851%205.5895C11.2515%205.67072%2011.2022%205.74451%2011.14%205.80667L9.06667%207.88C9.05073%207.89497%209.03802%207.91304%209.02933%207.93311C9.02065%207.95317%209.01616%207.97481%209.01616%207.99667C9.01616%208.01854%209.02065%208.04017%209.02933%208.06024C9.03802%208.0803%209.05073%208.09837%209.06667%208.11334L11.14%2010.1867Z'%20fill='%23A0AEC0'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_1634_880'%3e%3crect%20width='16'%20height='16'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e");
268
- background-position: center center;
269
- transition: background-image 0.4s;
270
- }
271
- .icon.clear-sm[data-v-78b7a6f8] {
272
- background-size: 0.875rem 0.875rem;
273
- width: 0.875rem;
274
- height: 0.875rem;
275
- bottom: 0.5rem;
276
- right: 0.375rem;
277
- }
278
- .icon.clear-md[data-v-78b7a6f8] {
279
- background-size: 1rem 1rem;
280
- height: 1rem;
281
- width: 1rem;
282
- bottom: 0.75rem;
283
- right: 0.5rem;
284
- }
285
- .icon.clear-lg[data-v-78b7a6f8] {
286
- background-size: 1rem 1rem;
287
- height: 1rem;
288
- width: 1rem;
289
- bottom: 1rem;
290
- right: 0.5rem;
291
- }
292
- .icon.clear[data-v-78b7a6f8]:hover {
293
- 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%3cg%20clip-path='url(%23clip0_1634_896)'%3e%3cpath%20d='M16%208C16%206.41775%2015.5308%204.87104%2014.6518%203.55544C13.7727%202.23985%2012.5233%201.21447%2011.0615%200.608967C9.59966%200.00346629%207.99113%20-0.15496%206.43928%200.153721C4.88743%200.462403%203.46197%201.22433%202.34315%202.34315C1.22433%203.46197%200.462403%204.88743%200.153721%206.43928C-0.15496%207.99113%200.00346629%209.59966%200.608967%2011.0615C1.21447%2012.5233%202.23985%2013.7727%203.55544%2014.6518C4.87104%2015.5308%206.41775%2016%208%2016C10.1217%2016%2012.1566%2015.1571%2013.6569%2013.6569C15.1571%2012.1566%2016%2010.1217%2016%208ZM11.14%2010.1867C11.2642%2010.3116%2011.3339%2010.4805%2011.3339%2010.6567C11.3339%2010.8328%2011.2642%2011.0018%2011.14%2011.1267C11.078%2011.1892%2011.0043%2011.2388%2010.9231%2011.2726C10.8418%2011.3064%2010.7547%2011.3239%2010.6667%2011.3239C10.5787%2011.3239%2010.4915%2011.3064%2010.4103%2011.2726C10.329%2011.2388%2010.2553%2011.1892%2010.1933%2011.1267L8.12%209.05334C8.08809%209.02429%208.04649%209.0082%208.00334%209.0082C7.96019%209.0082%207.91858%209.02429%207.88667%209.05334L5.81334%2011.1267C5.6858%2011.2359%205.52175%2011.293%205.35397%2011.2865C5.18618%2011.28%205.02702%2011.2104%204.90829%2011.0917C4.78957%2010.973%204.72001%2010.8138%204.71353%2010.646C4.70705%2010.4783%204.76412%2010.3142%204.87334%2010.1867L6.94667%208.11334C6.97572%208.08142%206.99181%208.03982%206.99181%207.99667C6.99181%207.95352%206.97572%207.91192%206.94667%207.88L4.87334%205.80667C4.81085%205.7447%204.76126%205.67096%204.72741%205.58972C4.69356%205.50848%204.67614%205.42135%204.67614%205.33334C4.67614%205.24533%204.69356%205.15819%204.72741%205.07695C4.76126%204.99571%204.81085%204.92198%204.87334%204.86C4.99825%204.73584%205.16721%204.66614%205.34334%204.66614C5.51946%204.66614%205.68843%204.73584%205.81334%204.86L7.88667%206.93334C7.90163%206.94928%207.91971%206.96199%207.93977%206.97068C7.95984%206.97936%207.98147%206.98384%208.00334%206.98384C8.0252%206.98384%208.04684%206.97936%208.0669%206.97068C8.08697%206.96199%208.10504%206.94928%208.12%206.93334L10.1933%204.86C10.2555%204.79784%2010.3293%204.74854%2010.4105%204.7149C10.4917%204.68126%2010.5788%204.66394%2010.6667%204.66394C10.7546%204.66394%2010.8416%204.68126%2010.9228%204.7149C11.0041%204.74854%2011.0778%204.79784%2011.14%204.86C11.2022%204.92216%2011.2515%204.99596%2011.2851%205.07717C11.3188%205.15839%2011.3361%205.24543%2011.3361%205.33334C11.3361%205.42124%2011.3188%205.50829%2011.2851%205.5895C11.2515%205.67072%2011.2022%205.74451%2011.14%205.80667L9.06667%207.88C9.05073%207.89497%209.03802%207.91304%209.02933%207.93311C9.02065%207.95317%209.01616%207.97481%209.01616%207.99667C9.01616%208.01854%209.02065%208.04017%209.02933%208.06024C9.03802%208.0803%209.05073%208.09837%209.06667%208.11334L11.14%2010.1867Z'%20fill='%23424E6E'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_1634_896'%3e%3crect%20width='16'%20height='16'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e");
294
- }
295
- .icon.search[data-v-78b7a6f8] {
296
- background-image: url("data:image/svg+xml,%3csvg%20width='12'%20height='12'%20viewBox='0%200%2012%2012'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_9127_330342)'%3e%3cpath%20d='M11.705%2010.295L9.38501%208.00004C10.0193%207.0497%2010.3178%205.91467%2010.2331%204.77526C10.1484%203.63584%209.68546%202.5574%208.91771%201.71124C8.14996%200.86508%207.12147%200.299735%205.99563%200.105014C4.8698%20-0.0897079%203.71117%200.0973621%202.70383%200.636506C1.69648%201.17565%200.898177%202.03595%200.435738%203.08073C-0.0267015%204.12552%20-0.126757%205.29487%200.151467%206.40303C0.429691%207.51119%201.07024%208.4946%201.97135%209.19704C2.87246%209.89948%203.98246%2010.2807%205.12501%2010.28C6.13901%2010.2811%207.13002%209.97801%207.97001%209.41004L10.295%2011.735C10.4824%2011.9213%2010.7358%2012.0258%2011%2012.0258C11.2642%2012.0258%2011.5176%2011.9213%2011.705%2011.735C11.8018%2011.6418%2011.8788%2011.5299%2011.9314%2011.4062C11.9839%2011.2825%2012.011%2011.1495%2012.011%2011.015C12.011%2010.8806%2011.9839%2010.7476%2011.9314%2010.6239C11.8788%2010.5002%2011.8018%2010.3883%2011.705%2010.295ZM5.12501%201.50004C5.84176%201.50004%206.54241%201.71251%207.13843%202.11061C7.73445%202.50871%208.19908%203.07456%208.47359%203.73666C8.74811%204.39875%208.82019%205.12736%208.68072%205.8304C8.54125%206.53345%208.1965%207.17937%207.69004%207.68653C7.18357%208.19369%206.53813%208.53934%205.83527%208.67977C5.13242%208.82021%204.40371%208.74913%203.74125%208.47553C3.07878%208.20193%202.51228%207.73808%202.11336%207.14261C1.71444%206.54714%201.501%205.84678%201.50001%205.13004C1.50001%204.16817%201.88177%203.24562%202.56145%202.565C3.24112%201.88439%204.16314%201.50136%205.12501%201.50004Z'%20fill='%23718096'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_9127_330342'%3e%3crect%20width='12'%20height='12'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e");
297
- }
298
- .icon.search-sm[data-v-78b7a6f8] {
299
- background-size: 0.75rem 0.75rem;
300
- left: 0.5rem;
301
- bottom: 0.625rem;
302
- width: 0.75rem;
303
- height: 0.75rem;
304
- }
305
- .icon.search-md[data-v-78b7a6f8] {
306
- background-size: 1rem 1rem;
307
- width: 1rem;
308
- height: 1rem;
309
- left: 0.75rem;
310
- bottom: 0.75rem;
311
- }
312
- .icon.search-lg[data-v-78b7a6f8] {
313
- background-size: 1rem 1rem;
314
- width: 1rem;
315
- height: 1rem;
316
- left: 1.125rem;
317
- bottom: 1rem;
318
- }
319
- .icon.enter[data-v-78b7a6f8] {
266
+ }.enter[data-v-ebc375ff] {
320
267
  background-image: url("data:image/svg+xml,%3csvg%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_1627_786)'%3e%3crect%20width='24'%20height='24'%20rx='5'%20fill='%23ECF1FF'/%3e%3cpath%20d='M19.17%201.03744e-05H4.83C4.19619%20-0.00130459%203.56834%200.122398%202.98239%200.364037C2.39645%200.605676%201.86392%200.960506%201.41528%201.40822C0.966641%201.85592%200.610708%202.38772%200.367855%202.97316C0.125002%203.55861%20-1.36406e-06%204.1862%200%204.82001L0%2019.17C0%2020.451%200.508874%2021.6795%201.41467%2022.5853C2.32048%2023.4911%203.549%2024%204.83%2024H19.17C20.4502%2023.9974%2021.6772%2023.4876%2022.5824%2022.5824C23.4876%2021.6772%2023.9974%2020.4502%2024%2019.17V4.82001C23.9974%203.54075%2023.4873%202.31479%2022.5818%201.41115C21.6763%200.507508%2020.4493%207.63258e-06%2019.17%201.03744e-05ZM22%2019.17C22%2019.9206%2021.7018%2020.6404%2021.1711%2021.1711C20.6404%2021.7018%2019.9206%2022%2019.17%2022H4.83C4.07944%2022%203.35962%2021.7018%202.82889%2021.1711C2.29816%2020.6404%202%2019.9206%202%2019.17V4.82001C2.00265%204.07118%202.30197%203.35393%202.83242%202.82536C3.36286%202.29679%204.08117%202.00001%204.83%202.00001H19.17C19.9188%202.00001%2020.6371%202.29679%2021.1676%202.82536C21.698%203.35393%2021.9974%204.07118%2022%204.82001V19.17Z'%20fill='%234750EB'/%3e%3cpath%20d='M17.5%207.5C17.2348%207.5%2016.9804%207.60536%2016.7929%207.79289C16.6054%207.98043%2016.5%208.23478%2016.5%208.5V11.25C16.5%2011.3163%2016.4737%2011.3799%2016.4268%2011.4268C16.3799%2011.4737%2016.3163%2011.5%2016.25%2011.5H10.75C10.6837%2011.5%2010.6201%2011.4737%2010.5732%2011.4268C10.5263%2011.3799%2010.5%2011.3163%2010.5%2011.25V9.5C10.5012%209.30138%2010.4431%209.10691%2010.3333%208.94139C10.2235%208.77587%2010.0669%208.6468%209.88348%208.57063C9.70004%208.49446%209.49807%208.47465%209.30332%208.51372C9.10857%208.55279%208.92987%208.64897%208.79%208.79L5.79%2011.79C5.60375%2011.9774%205.49921%2012.2308%205.49921%2012.495C5.49921%2012.7592%205.60375%2013.0126%205.79%2013.2L8.79%2016.2C8.88261%2016.2945%208.99306%2016.3697%209.11493%2016.4212C9.23681%2016.4727%209.36769%2016.4995%209.5%2016.5C9.76522%2016.5%2010.0196%2016.3946%2010.2071%2016.2071C10.3946%2016.0196%2010.5%2015.7652%2010.5%2015.5V13.75C10.5%2013.6837%2010.5263%2013.6201%2010.5732%2013.5732C10.6201%2013.5263%2010.6837%2013.5%2010.75%2013.5H16.5C17.0304%2013.5%2017.5391%2013.2893%2017.9142%2012.9142C18.2893%2012.5391%2018.5%2012.0304%2018.5%2011.5V8.5C18.5%208.23478%2018.3946%207.98043%2018.2071%207.79289C18.0196%207.60536%2017.7652%207.5%2017.5%207.5Z'%20fill='%234750EB'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_1627_786'%3e%3crect%20width='24'%20height='24'%20rx='5'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e");
321
- }
322
- .icon.enter-sm[data-v-78b7a6f8] {
323
- background-size: 1rem 1rem;
324
- width: 1rem;
325
- height: 1rem;
326
- right: 1.5rem;
327
- bottom: 0.5rem;
328
- }
329
- .icon.enter-md[data-v-78b7a6f8] {
330
- background-size: 1.5rem 1.5rem;
331
- width: 1.5rem;
332
- height: 1.5rem;
333
- right: 2.0625rem;
334
- bottom: 0.5rem;
335
- }
336
- .icon.enter-lg[data-v-78b7a6f8] {
337
- background-size: 1.5rem 1.5rem;
338
- width: 1.5rem;
339
- height: 1.5rem;
340
- right: 2.5rem;
341
- bottom: 0.75rem;
342
268
  }.fadeInDown[data-v-9ad56d4f] {
343
269
  animation-duration: 0.4s;
344
270
  animation-fill-mode: both;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pequity/squirrel",
3
3
  "description": "Squirrel component library",
4
- "version": "7.0.3",
4
+ "version": "7.1.1",
5
5
  "packageManager": "pnpm@9.15.9",
6
6
  "type": "module",
7
7
  "scripts": {
@@ -39,7 +39,6 @@
39
39
  "peerDependencies": {
40
40
  "@tanstack/vue-virtual": "^3.8.3",
41
41
  "@vuepic/vue-datepicker": "^11.0.1",
42
- "dayjs": "^1.11.12",
43
42
  "floating-vue": "^5.2.2",
44
43
  "lodash-es": "^4.17.21",
45
44
  "vue": "^3.4.33",
@@ -50,23 +49,23 @@
50
49
  "devDependencies": {
51
50
  "@commitlint/cli": "^19.8.0",
52
51
  "@commitlint/config-conventional": "^19.8.0",
53
- "@pequity/eslint-config": "^1.1.1",
52
+ "@pequity/eslint-config": "^2.0.0",
54
53
  "@playwright/test": "^1.51.0",
55
54
  "@semantic-release/changelog": "^6.0.3",
56
55
  "@semantic-release/git": "^10.0.1",
57
- "@storybook/addon-a11y": "^8.6.4",
58
- "@storybook/addon-actions": "^8.6.4",
59
- "@storybook/addon-essentials": "^8.6.4",
60
- "@storybook/addon-interactions": "^8.6.4",
61
- "@storybook/addon-links": "^8.6.4",
62
- "@storybook/blocks": "^8.6.4",
63
- "@storybook/manager-api": "^8.6.4",
64
- "@storybook/test": "^8.6.4",
56
+ "@storybook/addon-a11y": "^8.6.6",
57
+ "@storybook/addon-actions": "^8.6.6",
58
+ "@storybook/addon-essentials": "^8.6.6",
59
+ "@storybook/addon-interactions": "^8.6.6",
60
+ "@storybook/addon-links": "^8.6.6",
61
+ "@storybook/blocks": "^8.6.6",
62
+ "@storybook/manager-api": "^8.6.6",
63
+ "@storybook/test": "^8.6.6",
65
64
  "@storybook/test-runner": "^0.22.0",
66
- "@storybook/theming": "^8.6.4",
67
- "@storybook/vue3": "^8.6.4",
68
- "@storybook/vue3-vite": "^8.6.4",
69
- "@tanstack/vue-virtual": "3.13.2",
65
+ "@storybook/theming": "^8.6.6",
66
+ "@storybook/vue3": "^8.6.6",
67
+ "@storybook/vue3-vite": "^8.6.6",
68
+ "@tanstack/vue-virtual": "3.13.4",
70
69
  "@types/jsdom": "^21.1.7",
71
70
  "@types/lodash-es": "^4.17.12",
72
71
  "@types/node": "^22.13.10",
@@ -76,7 +75,6 @@
76
75
  "@vue/test-utils": "^2.4.6",
77
76
  "@vuepic/vue-datepicker": "11.0.1",
78
77
  "autoprefixer": "^10.4.21",
79
- "dayjs": "1.11.13",
80
78
  "eslint": "^9.22.0",
81
79
  "eslint-plugin-storybook": "^0.11.4",
82
80
  "floating-vue": "5.2.2",
@@ -84,7 +82,7 @@
84
82
  "husky": "^9.1.7",
85
83
  "iconify-icon": "^2.3.0",
86
84
  "jsdom": "^26.0.0",
87
- "lint-staged": "^15.4.3",
85
+ "lint-staged": "^15.5.0",
88
86
  "lodash-es": "4.17.21",
89
87
  "make-coverage-badge": "^1.2.0",
90
88
  "postcss": "^8.5.3",
@@ -94,11 +92,11 @@
94
92
  "rimraf": "^6.0.1",
95
93
  "sass": "^1.85.1",
96
94
  "semantic-release": "^24.2.3",
97
- "storybook": "^8.6.4",
95
+ "storybook": "^8.6.6",
98
96
  "svgo": "^3.3.2",
99
97
  "tailwindcss": "^3.4.17",
100
- "typescript": "5.7.3",
101
- "vite": "^6.2.1",
98
+ "typescript": "5.8.2",
99
+ "vite": "^6.2.2",
102
100
  "vitest": "^3.0.8",
103
101
  "vue": "3.5.13",
104
102
  "vue-currency-input": "3.2.1",
@@ -108,5 +106,10 @@
108
106
  },
109
107
  "dependencies": {
110
108
  "tailwind-variants": "^1.0.0"
109
+ },
110
+ "pnpm": {
111
+ "overrides": {
112
+ "typescript": "5.8.2"
113
+ }
111
114
  }
112
115
  }