@pequity/squirrel 6.0.13 → 6.1.0

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 (61) hide show
  1. package/dist/cjs/chunks/p-action-bar.js +4 -4
  2. package/dist/cjs/chunks/p-btn.js +204 -0
  3. package/dist/cjs/chunks/p-select-btn.js +5 -4
  4. package/dist/cjs/index.js +28 -23
  5. package/dist/cjs/inputClasses.js +6 -4
  6. package/dist/cjs/p-btn.js +2 -169
  7. package/dist/es/chunks/p-action-bar.js +8 -8
  8. package/dist/es/chunks/p-btn.js +205 -0
  9. package/dist/es/chunks/p-select-btn.js +5 -4
  10. package/dist/es/index.js +65 -60
  11. package/dist/es/inputClasses.js +6 -4
  12. package/dist/es/p-btn.js +2 -169
  13. package/dist/squirrel/components/p-btn/p-btn.vue.d.ts +106 -46
  14. package/dist/squirrel/components/p-card/p-card.vue.d.ts +27 -14
  15. package/dist/squirrel/components/p-checkbox/p-checkbox.vue.d.ts +43 -12
  16. package/dist/squirrel/components/p-close-btn/p-close-btn.vue.d.ts +1 -1
  17. package/dist/squirrel/components/p-drawer/p-drawer.vue.d.ts +1 -1
  18. package/dist/squirrel/components/p-dropdown-select/p-dropdown-select.vue.d.ts +15 -422
  19. package/dist/squirrel/components/p-file-upload/p-file-upload.vue.d.ts +1 -3
  20. package/dist/squirrel/components/p-info-icon/p-info-icon.vue.d.ts +13 -11
  21. package/dist/squirrel/components/p-inline-date-picker/p-inline-date-picker.vue.d.ts +39 -14
  22. package/dist/squirrel/components/p-input/p-input.vue.d.ts +2 -2
  23. package/dist/squirrel/components/p-input-number/p-input-number.vue.d.ts +2 -2
  24. package/dist/squirrel/components/p-input-search/p-input-search.vue.d.ts +2 -2
  25. package/dist/squirrel/components/p-link/p-link.vue.d.ts +17 -13
  26. package/dist/squirrel/components/p-loading/p-loading.vue.d.ts +1 -3
  27. package/dist/squirrel/components/p-modal/p-modal.vue.d.ts +240 -22
  28. package/dist/squirrel/components/p-pagination-info/p-pagination-info.vue.d.ts +77 -10
  29. package/dist/squirrel/components/p-select/p-select.vue.d.ts +116 -14
  30. package/dist/squirrel/components/p-select-btn/p-select-btn.vue.d.ts +37 -13
  31. package/dist/squirrel/components/p-select-list/p-select-list.vue.d.ts +14 -418
  32. package/dist/squirrel/components/p-table/p-table.vue.d.ts +61 -19
  33. package/dist/squirrel/components/p-table-header-cell/p-table-header-cell.vue.d.ts +1 -1
  34. package/dist/squirrel/components/p-table-loader/p-table-loader.vue.d.ts +1 -1
  35. package/dist/squirrel/components/p-table-td/p-table-td.vue.d.ts +23 -11
  36. package/dist/squirrel/components/p-tabs/p-tabs.vue.d.ts +1 -1
  37. package/dist/squirrel/components/p-textarea/p-textarea.vue.d.ts +1 -1
  38. package/dist/squirrel/components/p-toggle/p-toggle.vue.d.ts +1 -1
  39. package/dist/squirrel/utils/inputClasses.d.ts +75 -25
  40. package/dist/squirrel/utils/inputClassesMixin.d.ts +1 -1
  41. package/dist/squirrel.css +2 -9
  42. package/package.json +25 -24
  43. package/squirrel/assets/squirrel.css +1 -1
  44. package/squirrel/components/p-action-bar/p-action-bar.stories.js +1 -2
  45. package/squirrel/components/p-btn/p-btn.spec.js +227 -161
  46. package/squirrel/components/p-btn/p-btn.stories.js +32 -8
  47. package/squirrel/components/p-btn/p-btn.vue +106 -73
  48. package/squirrel/components/p-dropdown/p-dropdown.vue +0 -1
  49. package/squirrel/components/p-file-upload/p-file-upload.vue +6 -16
  50. package/squirrel/components/p-inline-date-picker/p-inline-date-picker.vue +1 -1
  51. package/squirrel/components/p-select/p-select.spec.js +1 -1
  52. package/squirrel/components/p-select-btn/p-select-btn.stories.js +45 -4
  53. package/squirrel/components/p-select-btn/p-select-btn.vue +2 -2
  54. package/squirrel/components/p-tabs/p-tabs.stories.js +2 -2
  55. package/squirrel/composables/useInputClasses.spec.js +3 -3
  56. package/squirrel/utils/inputClasses.ts +6 -4
  57. package/squirrel/utils/inputClassesMixin.spec.js +3 -3
  58. package/squirrel/assets/file-upload-drag-over-icon.svg +0 -5
  59. package/squirrel/assets/file-upload-upload-icon.svg +0 -5
  60. package/squirrel/assets/file-upload-x-icon-hover.svg +0 -8
  61. package/squirrel/assets/file-upload-x-icon.svg +0 -8
package/dist/es/p-btn.js CHANGED
@@ -1,171 +1,4 @@
1
- import { S as SIZES } from "./chunks/p-btn.types.js";
2
- import { _ as _sfc_main$1 } from "./chunks/p-ring-loader.js";
3
- import { isExternalLink } from "./link.js";
4
- import { sanitizeUrl } from "./sanitization.js";
5
- import { c as ce } from "./chunks/index.js";
6
- import { defineComponent, resolveComponent, createElementBlock, createBlock, openBlock, mergeProps, renderSlot, resolveDynamicComponent, withCtx, createElementVNode, createCommentVNode, normalizeClass } from "vue";
7
- import { RouterLink } from "vue-router";
8
- import { _ as _export_sfc } from "./chunks/_plugin-vue_export-helper.js";
9
- const btnClasses = {
10
- slots: {
11
- button: "relative inline-block rounded font-medium outline-none disabled:pointer-events-none disabled:cursor-default disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:cursor-default aria-disabled:opacity-50",
12
- loader: "absolute bottom-0 left-0 right-0 top-0 flex items-center justify-center font-medium"
13
- },
14
- variants: {
15
- type: {
16
- primary: {
17
- button: "bg-primary text-surface hover:bg-accent active:bg-p-blue-80",
18
- loader: "text-surface"
19
- },
20
- secondary: {
21
- button: "bg-p-gray-20 hover:bg-p-gray-30 active:bg-p-gray-40",
22
- loader: "text-p-purple-60"
23
- },
24
- "primary-outline": {
25
- button: "bg-p-blue-10 text-p-purple-60 ring-1 ring-inset ring-p-purple-60 hover:bg-p-gray-20",
26
- loader: "text-p-purple-60"
27
- },
28
- "secondary-outline": {
29
- button: "bg-surface text-p-purple-60 ring-1 ring-inset ring-p-gray-30 hover:bg-p-blue-10 aria-selected:bg-p-blue-10",
30
- loader: "text-p-purple-60"
31
- },
32
- "secondary-outline-blue": {
33
- button: "bg-surface text-p-purple-60 ring-1 ring-inset ring-p-gray-30 hover:bg-p-blue-10 aria-selected:bg-p-blue-15 aria-selected:text-p-blue-60",
34
- loader: "text-p-purple-60"
35
- },
36
- error: { button: "bg-p-red-40 text-white hover:bg-p-red-50", loader: "text-white" },
37
- success: { button: "bg-p-green-40 text-white hover:bg-p-green-50", loader: "text-white" },
38
- "primary-link": { button: "bg-transparent text-primary underline hover:text-accent", loader: "text-p-blue-60" },
39
- "secondary-ghost": { button: "text-on-surface hover:bg-p-gray-20", loader: "text-p-purple-60" },
40
- "secondary-ghost-dark": { button: "text-white hover:bg-p-purple-50", loader: "text-p-blue-15" }
41
- },
42
- size: {
43
- sm: { button: "px-2 py-1 text-sm" },
44
- md: { button: "px-6 py-2 text-base" },
45
- lg: { button: "px-6 py-2.5 text-lg" }
46
- }
47
- },
48
- defaultVariants: {
49
- type: "primary",
50
- size: "md"
51
- }
52
- };
53
- const btn = ce(btnClasses);
54
- const BUTTON_TYPES = Object.keys(btnClasses.variants.type);
55
- const BUTTON_NATIVE_TYPES = ["button", "submit", "reset"];
56
- const LOADER_SIZES = { sm: 24, md: 30, lg: 40 };
57
- const _sfc_main = defineComponent({
58
- name: "PBtn",
59
- components: {
60
- PRingLoader: _sfc_main$1,
61
- RouterLink
62
- },
63
- inheritAttrs: false,
64
- props: {
65
- /**
66
- * The button style e.g primary, secondary, primary-outline, secondary-outline, error, success, primary-link
67
- */
68
- type: {
69
- type: String,
70
- default: "primary",
71
- validator(value) {
72
- return BUTTON_TYPES.includes(value);
73
- }
74
- },
75
- /**
76
- * The button native type e.g button, submit, reset
77
- */
78
- nativeType: {
79
- type: String,
80
- default: "button",
81
- validator(value) {
82
- return BUTTON_NATIVE_TYPES.includes(value);
83
- }
84
- },
85
- /**
86
- * The button size e.g sm, md, lg
87
- */
88
- size: {
89
- type: String,
90
- default: "md",
91
- validator(value) {
92
- return SIZES.includes(value);
93
- }
94
- },
95
- /**
96
- * Whether the button is loading
97
- */
98
- loading: {
99
- type: Boolean,
100
- default: false
101
- },
102
- /**
103
- * Whether the button is selected (sets aria-selected attribute)
104
- */
105
- selected: {
106
- type: Boolean,
107
- default: false
108
- },
109
- /**
110
- * Exactly as the `to` prop in `RouterLink`, when used, it renders a link that triggers a navigation on click.
111
- * See https://router.vuejs.org/api/#RouteLocationRaw
112
- */
113
- to: {
114
- type: [Object, String],
115
- default: ""
116
- }
117
- },
118
- computed: {
119
- classes() {
120
- const { button, loader } = btn({ type: this.type, size: this.size });
121
- return { button: button(), loader: loader() };
122
- },
123
- loaderSize() {
124
- return Number(`${LOADER_SIZES[this.size]}`);
125
- }
126
- },
127
- methods: {
128
- isExternalLink,
129
- sanitizeUrl
130
- }
131
- });
132
- const _hoisted_1 = ["href", "disabled", "aria-disabled"];
133
- function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
134
- const _component_PRingLoader = resolveComponent("PRingLoader");
135
- return typeof _ctx.to === "string" && _ctx.isExternalLink(_ctx.to) ? (openBlock(), createElementBlock("a", mergeProps({ key: 0 }, _ctx.$attrs, {
136
- href: _ctx.sanitizeUrl(_ctx.to),
137
- target: "_blank",
138
- class: _ctx.classes.button,
139
- disabled: !!_ctx.$attrs.disabled ? true : null,
140
- "aria-disabled": !!_ctx.$attrs.disabled
141
- }), [
142
- renderSlot(_ctx.$slots, "default")
143
- ], 16, _hoisted_1)) : (openBlock(), createBlock(resolveDynamicComponent(_ctx.to ? "RouterLink" : "button"), mergeProps({
144
- key: 1,
145
- type: _ctx.to ? null : _ctx.nativeType,
146
- to: _ctx.to ? _ctx.to : null,
147
- "aria-selected": _ctx.selected,
148
- class: _ctx.classes.button
149
- }, _ctx.$attrs, {
150
- disabled: !!_ctx.$attrs.disabled || _ctx.loading ? true : null,
151
- "aria-disabled": _ctx.$attrs.disabled
152
- }), {
153
- default: withCtx(() => [
154
- createElementVNode("div", {
155
- class: normalizeClass({ invisible: _ctx.loading })
156
- }, [
157
- renderSlot(_ctx.$slots, "default")
158
- ], 2),
159
- _ctx.loading ? (openBlock(), createBlock(_component_PRingLoader, {
160
- key: 0,
161
- size: _ctx.loaderSize,
162
- class: normalizeClass(_ctx.classes.loader)
163
- }, null, 8, ["size", "class"])) : createCommentVNode("", true)
164
- ]),
165
- _: 3
166
- }, 16, ["type", "to", "aria-selected", "class", "disabled", "aria-disabled"]));
167
- }
168
- const PBtn = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
1
+ import { _ as _sfc_main } from "./chunks/p-btn.js";
169
2
  export {
170
- PBtn as default
3
+ _sfc_main as default
171
4
  };
@@ -1,7 +1,9 @@
1
1
  import { type Size } from './p-btn.types';
2
+ import PIcon from '../p-icon/p-icon.vue';
2
3
  import { type VariantProps } from 'tailwind-variants';
3
4
  import { type PropType } from 'vue';
4
5
  import { type RouteLocationRaw } from 'vue-router';
6
+ type Icon = InstanceType<typeof PIcon>['$props']['icon'];
5
7
  declare const btn: import("tailwind-variants").TVReturnType<{
6
8
  readonly type: {
7
9
  readonly primary: {
@@ -47,19 +49,27 @@ declare const btn: import("tailwind-variants").TVReturnType<{
47
49
  };
48
50
  readonly size: {
49
51
  readonly sm: {
50
- readonly button: "px-2 py-1 text-sm";
52
+ readonly button: "px-2 has-[.slot-wrapper:empty]:px-1 py-1 text-sm";
53
+ readonly content: "gap-1";
54
+ readonly icon: "text-lg";
51
55
  };
52
56
  readonly md: {
53
- readonly button: "px-6 py-2 text-base";
57
+ readonly button: "px-6 has-[.slot-wrapper:empty]:px-2 py-2 text-base";
58
+ readonly content: "gap-2";
59
+ readonly icon: "text-xl";
54
60
  };
55
61
  readonly lg: {
56
- readonly button: "px-6 py-2.5 text-lg";
62
+ readonly button: "px-6 has-[.slot-wrapper:empty]:px-2.5 py-2.5 text-lg";
63
+ readonly content: "gap-2.5";
64
+ readonly icon: "text-2xl";
57
65
  };
58
66
  };
59
67
  }, {
60
68
  readonly button: "relative inline-block rounded font-medium outline-none disabled:pointer-events-none disabled:cursor-default disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:cursor-default aria-disabled:opacity-50";
69
+ readonly content: "flex items-center justify-center has-[.slot-wrapper:empty]:gap-0";
61
70
  readonly loader: "absolute bottom-0 left-0 right-0 top-0 flex items-center justify-center font-medium";
62
- }, undefined, import("tailwind-variants/dist/config.js").TVConfig<{
71
+ readonly icon: "shrink-0";
72
+ }, undefined, import("tailwind-variants/dist/config").TVConfig<{
63
73
  readonly type: {
64
74
  readonly primary: {
65
75
  readonly button: "bg-primary text-surface hover:bg-accent active:bg-p-blue-80";
@@ -104,13 +114,19 @@ declare const btn: import("tailwind-variants").TVReturnType<{
104
114
  };
105
115
  readonly size: {
106
116
  readonly sm: {
107
- readonly button: "px-2 py-1 text-sm";
117
+ readonly button: "px-2 has-[.slot-wrapper:empty]:px-1 py-1 text-sm";
118
+ readonly content: "gap-1";
119
+ readonly icon: "text-lg";
108
120
  };
109
121
  readonly md: {
110
- readonly button: "px-6 py-2 text-base";
122
+ readonly button: "px-6 has-[.slot-wrapper:empty]:px-2 py-2 text-base";
123
+ readonly content: "gap-2";
124
+ readonly icon: "text-xl";
111
125
  };
112
126
  readonly lg: {
113
- readonly button: "px-6 py-2.5 text-lg";
127
+ readonly button: "px-6 has-[.slot-wrapper:empty]:px-2.5 py-2.5 text-lg";
128
+ readonly content: "gap-2.5";
129
+ readonly icon: "text-2xl";
114
130
  };
115
131
  };
116
132
  }, {
@@ -158,13 +174,19 @@ declare const btn: import("tailwind-variants").TVReturnType<{
158
174
  };
159
175
  readonly size: {
160
176
  readonly sm: {
161
- readonly button: "px-2 py-1 text-sm";
177
+ readonly button: "px-2 has-[.slot-wrapper:empty]:px-1 py-1 text-sm";
178
+ readonly content: "gap-1";
179
+ readonly icon: "text-lg";
162
180
  };
163
181
  readonly md: {
164
- readonly button: "px-6 py-2 text-base";
182
+ readonly button: "px-6 has-[.slot-wrapper:empty]:px-2 py-2 text-base";
183
+ readonly content: "gap-2";
184
+ readonly icon: "text-xl";
165
185
  };
166
186
  readonly lg: {
167
- readonly button: "px-6 py-2.5 text-lg";
187
+ readonly button: "px-6 has-[.slot-wrapper:empty]:px-2.5 py-2.5 text-lg";
188
+ readonly content: "gap-2.5";
189
+ readonly icon: "text-2xl";
168
190
  };
169
191
  };
170
192
  }>, {
@@ -212,18 +234,26 @@ declare const btn: import("tailwind-variants").TVReturnType<{
212
234
  };
213
235
  readonly size: {
214
236
  readonly sm: {
215
- readonly button: "px-2 py-1 text-sm";
237
+ readonly button: "px-2 has-[.slot-wrapper:empty]:px-1 py-1 text-sm";
238
+ readonly content: "gap-1";
239
+ readonly icon: "text-lg";
216
240
  };
217
241
  readonly md: {
218
- readonly button: "px-6 py-2 text-base";
242
+ readonly button: "px-6 has-[.slot-wrapper:empty]:px-2 py-2 text-base";
243
+ readonly content: "gap-2";
244
+ readonly icon: "text-xl";
219
245
  };
220
246
  readonly lg: {
221
- readonly button: "px-6 py-2.5 text-lg";
247
+ readonly button: "px-6 has-[.slot-wrapper:empty]:px-2.5 py-2.5 text-lg";
248
+ readonly content: "gap-2.5";
249
+ readonly icon: "text-2xl";
222
250
  };
223
251
  };
224
252
  }, {
225
253
  readonly button: "relative inline-block rounded font-medium outline-none disabled:pointer-events-none disabled:cursor-default disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:cursor-default aria-disabled:opacity-50";
254
+ readonly content: "flex items-center justify-center has-[.slot-wrapper:empty]:gap-0";
226
255
  readonly loader: "absolute bottom-0 left-0 right-0 top-0 flex items-center justify-center font-medium";
256
+ readonly icon: "shrink-0";
227
257
  }, import("tailwind-variants").TVReturnType<{
228
258
  readonly type: {
229
259
  readonly primary: {
@@ -269,19 +299,27 @@ declare const btn: import("tailwind-variants").TVReturnType<{
269
299
  };
270
300
  readonly size: {
271
301
  readonly sm: {
272
- readonly button: "px-2 py-1 text-sm";
302
+ readonly button: "px-2 has-[.slot-wrapper:empty]:px-1 py-1 text-sm";
303
+ readonly content: "gap-1";
304
+ readonly icon: "text-lg";
273
305
  };
274
306
  readonly md: {
275
- readonly button: "px-6 py-2 text-base";
307
+ readonly button: "px-6 has-[.slot-wrapper:empty]:px-2 py-2 text-base";
308
+ readonly content: "gap-2";
309
+ readonly icon: "text-xl";
276
310
  };
277
311
  readonly lg: {
278
- readonly button: "px-6 py-2.5 text-lg";
312
+ readonly button: "px-6 has-[.slot-wrapper:empty]:px-2.5 py-2.5 text-lg";
313
+ readonly content: "gap-2.5";
314
+ readonly icon: "text-2xl";
279
315
  };
280
316
  };
281
317
  }, {
282
318
  readonly button: "relative inline-block rounded font-medium outline-none disabled:pointer-events-none disabled:cursor-default disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:cursor-default aria-disabled:opacity-50";
319
+ readonly content: "flex items-center justify-center has-[.slot-wrapper:empty]:gap-0";
283
320
  readonly loader: "absolute bottom-0 left-0 right-0 top-0 flex items-center justify-center font-medium";
284
- }, undefined, import("tailwind-variants/dist/config.js").TVConfig<{
321
+ readonly icon: "shrink-0";
322
+ }, undefined, import("tailwind-variants/dist/config").TVConfig<{
285
323
  readonly type: {
286
324
  readonly primary: {
287
325
  readonly button: "bg-primary text-surface hover:bg-accent active:bg-p-blue-80";
@@ -326,13 +364,19 @@ declare const btn: import("tailwind-variants").TVReturnType<{
326
364
  };
327
365
  readonly size: {
328
366
  readonly sm: {
329
- readonly button: "px-2 py-1 text-sm";
367
+ readonly button: "px-2 has-[.slot-wrapper:empty]:px-1 py-1 text-sm";
368
+ readonly content: "gap-1";
369
+ readonly icon: "text-lg";
330
370
  };
331
371
  readonly md: {
332
- readonly button: "px-6 py-2 text-base";
372
+ readonly button: "px-6 has-[.slot-wrapper:empty]:px-2 py-2 text-base";
373
+ readonly content: "gap-2";
374
+ readonly icon: "text-xl";
333
375
  };
334
376
  readonly lg: {
335
- readonly button: "px-6 py-2.5 text-lg";
377
+ readonly button: "px-6 has-[.slot-wrapper:empty]:px-2.5 py-2.5 text-lg";
378
+ readonly content: "gap-2.5";
379
+ readonly icon: "text-2xl";
336
380
  };
337
381
  };
338
382
  }, {
@@ -380,20 +424,26 @@ declare const btn: import("tailwind-variants").TVReturnType<{
380
424
  };
381
425
  readonly size: {
382
426
  readonly sm: {
383
- readonly button: "px-2 py-1 text-sm";
427
+ readonly button: "px-2 has-[.slot-wrapper:empty]:px-1 py-1 text-sm";
428
+ readonly content: "gap-1";
429
+ readonly icon: "text-lg";
384
430
  };
385
431
  readonly md: {
386
- readonly button: "px-6 py-2 text-base";
432
+ readonly button: "px-6 has-[.slot-wrapper:empty]:px-2 py-2 text-base";
433
+ readonly content: "gap-2";
434
+ readonly icon: "text-xl";
387
435
  };
388
436
  readonly lg: {
389
- readonly button: "px-6 py-2.5 text-lg";
437
+ readonly button: "px-6 has-[.slot-wrapper:empty]:px-2.5 py-2.5 text-lg";
438
+ readonly content: "gap-2.5";
439
+ readonly icon: "text-2xl";
390
440
  };
391
441
  };
392
442
  }>, unknown, unknown, undefined>>;
393
443
  declare const BUTTON_NATIVE_TYPES: readonly ["button", "submit", "reset"];
394
444
  type ButtonNativeType = (typeof BUTTON_NATIVE_TYPES)[number];
395
445
  type ButtonType = NonNullable<VariantProps<typeof btn>['type']>;
396
- declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
446
+ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<{
397
447
  /**
398
448
  * The button style e.g primary, secondary, primary-outline, secondary-outline, error, success, primary-link
399
449
  */
@@ -440,16 +490,18 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
440
490
  type: PropType<RouteLocationRaw>;
441
491
  default: string;
442
492
  };
443
- }>, {}, {}, {
444
- classes(): {
445
- button: string;
446
- loader: string;
493
+ /**
494
+ * The icon to display on the button
495
+ */
496
+ icon: {
497
+ type: PropType<Icon>;
498
+ default: string;
447
499
  };
448
- loaderSize(): number;
449
- }, {
450
- isExternalLink: (url: string) => boolean;
451
- sanitizeUrl: (url: string) => string;
452
- }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
500
+ iconRight: {
501
+ type: PropType<Icon>;
502
+ default: string;
503
+ };
504
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
453
505
  /**
454
506
  * The button style e.g primary, secondary, primary-outline, secondary-outline, error, success, primary-link
455
507
  */
@@ -496,24 +548,32 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
496
548
  type: PropType<RouteLocationRaw>;
497
549
  default: string;
498
550
  };
551
+ /**
552
+ * The icon to display on the button
553
+ */
554
+ icon: {
555
+ type: PropType<Icon>;
556
+ default: string;
557
+ };
558
+ iconRight: {
559
+ type: PropType<Icon>;
560
+ default: string;
561
+ };
499
562
  }>> & Readonly<{}>, {
563
+ 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 & {});
500
564
  size: "sm" | "md" | "lg";
501
565
  type: ButtonType;
502
566
  nativeType: "reset" | "submit" | "button";
503
567
  loading: boolean;
504
568
  selected: boolean;
505
569
  to: string | import("vue-router").RouteLocationAsRelativeGeneric | import("vue-router").RouteLocationAsPathGeneric;
506
- }, {}, {
507
- PRingLoader: import("vue").DefineComponent<{
508
- size?: number;
509
- color?: string;
510
- }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{
511
- size?: number;
512
- color?: string;
513
- }> & Readonly<{}>, {
514
- size: number;
515
- color: string;
516
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
517
- RouterLink: import("vue-router")._RouterLinkI;
518
- }, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
570
+ 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 & {});
571
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, {
572
+ default?: (((props: {}) => any) & ((props: {}) => any)) | undefined;
573
+ }>;
519
574
  export default _default;
575
+ type __VLS_WithSlots<T, S> = T & {
576
+ new (): {
577
+ $slots: S;
578
+ };
579
+ };
@@ -1,15 +1,28 @@
1
- declare function __VLS_template(): {
2
- attrs: Partial<{}>;
3
- slots: {
4
- title?(_: {
5
- titleClass: "text-xl font-medium leading-none text-p-purple-60";
6
- }): any;
7
- default?(_: {}): any;
1
+ declare const titleClass = "text-xl font-medium leading-none text-p-purple-60";
2
+ declare const __VLS_ctx: InstanceType<__VLS_PickNotAny<typeof __VLS_self, new () => {}>>;
3
+ declare var __VLS_1: {
4
+ titleClass: "text-xl font-medium leading-none text-p-purple-60";
5
+ }, __VLS_3: {};
6
+ type __VLS_Slots = __VLS_PrettifyGlobal<__VLS_OmitStringIndex<typeof __VLS_ctx.$slots> & {
7
+ title?: (props: typeof __VLS_1) => any;
8
+ } & {
9
+ default?: (props: typeof __VLS_3) => any;
10
+ }>;
11
+ declare const __VLS_self: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
12
+ title: {
13
+ type: StringConstructor;
14
+ default: string;
8
15
  };
9
- refs: {};
10
- rootEl: HTMLDivElement;
11
- };
12
- type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
16
+ }>, {
17
+ titleClass: typeof titleClass;
18
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
19
+ title: {
20
+ type: StringConstructor;
21
+ default: string;
22
+ };
23
+ }>> & Readonly<{}>, {
24
+ title: string;
25
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
13
26
  declare const __VLS_component: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
14
27
  title: {
15
28
  type: StringConstructor;
@@ -22,10 +35,10 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
22
35
  };
23
36
  }>> & Readonly<{}>, {
24
37
  title: string;
25
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, HTMLDivElement>;
26
- declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
38
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
39
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
27
40
  export default _default;
28
- type __VLS_WithTemplateSlots<T, S> = T & {
41
+ type __VLS_WithSlots<T, S> = T & {
29
42
  new (): {
30
43
  $slots: S;
31
44
  };
@@ -1,13 +1,44 @@
1
- declare function __VLS_template(): {
2
- attrs: Partial<{}>;
3
- slots: {
4
- 'label-before'?(_: {}): any;
5
- label?(_: {}): any;
6
- };
7
- refs: {};
8
- rootEl: any;
9
- };
10
- type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
1
+ import { type StyleValue } from 'vue';
2
+ declare const attrs: import("vue").ComputedRef<{
3
+ [x: string]: unknown;
4
+ }>;
5
+ declare const style: import("vue").ComputedRef<StyleValue>;
6
+ declare const __VLS_ctx: InstanceType<__VLS_PickNotAny<typeof __VLS_self, new () => {}>>;
7
+ declare var __VLS_1: {}, __VLS_3: {};
8
+ type __VLS_Slots = __VLS_PrettifyGlobal<__VLS_OmitStringIndex<typeof __VLS_ctx.$slots> & {
9
+ 'label-before'?: (props: typeof __VLS_1) => any;
10
+ } & {
11
+ label?: (props: typeof __VLS_3) => any;
12
+ }>;
13
+ declare const __VLS_self: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
14
+ modelValue: {
15
+ type: BooleanConstructor;
16
+ default: boolean;
17
+ };
18
+ label: {
19
+ type: StringConstructor;
20
+ default: string;
21
+ };
22
+ }>, {
23
+ attrs: typeof attrs;
24
+ style: typeof style;
25
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
26
+ "update:modelValue": (...args: any[]) => void;
27
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
28
+ modelValue: {
29
+ type: BooleanConstructor;
30
+ default: boolean;
31
+ };
32
+ label: {
33
+ type: StringConstructor;
34
+ default: string;
35
+ };
36
+ }>> & Readonly<{
37
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
38
+ }>, {
39
+ label: string;
40
+ modelValue: boolean;
41
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
11
42
  declare const __VLS_component: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
12
43
  modelValue: {
13
44
  type: BooleanConstructor;
@@ -34,9 +65,9 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
34
65
  label: string;
35
66
  modelValue: boolean;
36
67
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
37
- declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
68
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
38
69
  export default _default;
39
- type __VLS_WithTemplateSlots<T, S> = T & {
70
+ type __VLS_WithSlots<T, S> = T & {
40
71
  new (): {
41
72
  $slots: S;
42
73
  };
@@ -12,5 +12,5 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
12
12
  };
13
13
  }>> & Readonly<{}>, {
14
14
  variant: Variant;
15
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, HTMLButtonElement>;
15
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
16
16
  export default _default;
@@ -201,6 +201,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
201
201
  };
202
202
  }>> & Readonly<{}>, {
203
203
  variant: "transparent" | "gray" | "dark";
204
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, HTMLButtonElement>;
204
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
205
205
  }, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
206
206
  export default _default;