@frollo/frollo-web-ui 9.0.1 → 9.0.2

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 (96) hide show
  1. package/cjs/index.js +10733 -3060
  2. package/esm/{_rollupPluginBabelHelpers-DODWUb5N.js → _rollupPluginBabelHelpers-BKlDnZ7n.js} +1 -1
  3. package/esm/fw-accordion.js +15 -18
  4. package/esm/fw-alert.js +32 -25
  5. package/esm/fw-bar-chart.js +265 -93
  6. package/esm/fw-button-DZTHZLjk.js +318 -0
  7. package/esm/fw-button.js +2 -2
  8. package/esm/{fw-card-D45R4kN-.js → fw-card-XGtsK2bM.js} +7 -10
  9. package/esm/fw-card.js +2 -2
  10. package/esm/fw-checkbox.js +8 -11
  11. package/esm/fw-date-picker.js +85 -49
  12. package/esm/fw-drawer.js +8 -8
  13. package/esm/{fw-dropdown-58wyuzsW.js → fw-dropdown-CSmYTm5O.js} +11 -14
  14. package/esm/fw-dropdown.js +7 -6
  15. package/esm/fw-form.js +1 -1
  16. package/esm/fw-icons.js +11 -12
  17. package/esm/fw-image-A2lXYs0u.js +325 -0
  18. package/esm/fw-image.js +5 -4
  19. package/esm/{fw-input-C2-cZ-BY.js → fw-input-BiPWWfK3.js} +12 -19
  20. package/esm/fw-input.js +3 -3
  21. package/esm/fw-loading-bar-3x4tkF1B.js +37 -0
  22. package/esm/fw-loading.js +89 -40
  23. package/esm/fw-media-picker.js +10 -653
  24. package/esm/fw-modal.js +11 -10
  25. package/esm/fw-navigation-menu.js +36 -41
  26. package/esm/fw-popover-BZ-zqUme.js +330 -0
  27. package/esm/fw-popover.js +2 -3
  28. package/esm/fw-progress-bar.js +1 -1
  29. package/esm/fw-provider-list.js +109 -87
  30. package/esm/fw-sidebar-menu.js +58 -51
  31. package/esm/fw-slider.js +64 -61
  32. package/esm/fw-switch.js +76 -49
  33. package/esm/fw-table-row-D6FdCJMs.js +447 -0
  34. package/esm/fw-table.js +5 -6
  35. package/esm/fw-tabs.js +87 -35
  36. package/esm/fw-tag-BRxPc4zc.js +199 -0
  37. package/esm/fw-tag.js +4 -4
  38. package/esm/fw-toast.js +58 -76
  39. package/esm/fw-transactions-card.js +20 -20
  40. package/esm/{get-root-colours-DCjlYelc.js → get-root-colours-DCCAnRF4.js} +3 -1
  41. package/esm/index-C8z11jcJ.js +7583 -0
  42. package/esm/index-DHyRsKsZ.js +843 -0
  43. package/esm/index-eP2GMSdQ.js +755 -0
  44. package/esm/index.js +54 -61
  45. package/esm/{uniqueId-DZdGzBh8.js → uniqueId-DK6xzFd8.js} +1 -1
  46. package/esm/{vee-validate.esm-3ptvCDR1.js → vee-validate-0dtT5GSQ.js} +182 -305
  47. package/frollo-web-ui.esm.js +10790 -3115
  48. package/icons/circle-check.svg +4 -0
  49. package/index.d.ts +1522 -586
  50. package/package.json +11 -11
  51. package/types/components/fw-accordion/fw-accordion.vue.d.ts +9 -7
  52. package/types/components/fw-alert/fw-alert.vue.d.ts +11 -6
  53. package/types/components/fw-bar-chart/fw-bar-chart.vue.d.ts +15 -64
  54. package/types/components/fw-button/fw-button.vue.d.ts +11 -7
  55. package/types/components/fw-card/fw-card.vue.d.ts +6 -6
  56. package/types/components/fw-checkbox/fw-checkbox.vue.d.ts +365 -5
  57. package/types/components/fw-date-picker/fw-date-picker.vue.d.ts +3 -242
  58. package/types/components/fw-drawer/fw-drawer.vue.d.ts +11 -8
  59. package/types/components/fw-dropdown/fw-dropdown.vue.d.ts +20 -12
  60. package/types/components/fw-icons/fw-success-animation.vue.d.ts +1 -1
  61. package/types/components/fw-image/fw-image.vue.d.ts +33 -7
  62. package/types/components/fw-input/fw-input.vue.d.ts +368 -10
  63. package/types/components/fw-loading/fw-loading-bar.vue.d.ts +7 -5
  64. package/types/components/fw-loading/fw-loading-card.vue.d.ts +3 -1
  65. package/types/components/fw-loading/fw-loading-dots.vue.d.ts +8 -1
  66. package/types/components/fw-loading/fw-loading-table.vue.d.ts +11 -6
  67. package/types/components/fw-media-picker/fw-media-picker.vue.d.ts +27 -18
  68. package/types/components/fw-modal/fw-modal.vue.d.ts +11 -7
  69. package/types/components/fw-navigation-menu/fw-navigation-menu.vue.d.ts +12 -8
  70. package/types/components/fw-popover/fw-popover.vue.d.ts +16 -21
  71. package/types/components/fw-progress-bar/fw-progress-bar.vue.d.ts +6 -4
  72. package/types/components/fw-provider-list/fw-provider-list.vue.d.ts +20 -45
  73. package/types/components/fw-sidebar-menu/fw-sidebar-menu.vue.d.ts +13 -7
  74. package/types/components/fw-slider/fw-slider.vue.d.ts +11 -8
  75. package/types/components/fw-switch/fw-switch.vue.d.ts +383 -9
  76. package/types/components/fw-switch/index.types.d.ts +1 -0
  77. package/types/components/fw-table/fw-table-head.vue.d.ts +1 -1
  78. package/types/components/fw-table/fw-table-row.vue.d.ts +1 -1
  79. package/types/components/fw-table/fw-table.vue.d.ts +40 -19
  80. package/types/components/fw-table/index.types.d.ts +36 -2
  81. package/types/components/fw-tabs/fw-tab.vue.d.ts +4 -8
  82. package/types/components/fw-tabs/fw-tabs.vue.d.ts +11 -8
  83. package/types/components/fw-tabs/index.types.d.ts +14 -4
  84. package/types/components/fw-tag/fw-tag.vue.d.ts +14 -8
  85. package/types/components/fw-toast/fw-toast.vue.d.ts +17 -22
  86. package/types/components/fw-transactions-card/fw-transactions-card.vue.d.ts +6 -3
  87. package/types/directives/lazy-loader.d.ts +11 -2
  88. package/types/helpers/get-root-colours.d.ts +1 -0
  89. package/web-components/index.js +16793 -7700
  90. package/esm/fw-button-YMoW4x4c.js +0 -296
  91. package/esm/fw-image-D-OHafdw.js +0 -217
  92. package/esm/fw-loading-bar-DecYSBC_.js +0 -45
  93. package/esm/fw-popover-B4bsfuxm.js +0 -620
  94. package/esm/fw-table-row-Cgi8871h.js +0 -389
  95. package/esm/fw-tag-fDo50Nw7.js +0 -177
  96. package/esm/index-BsEH8YYr.js +0 -979
@@ -1,6 +1,6 @@
1
1
  import { type PropType } from 'vue';
2
2
  import type { FwSwitchProps } from './index.types';
3
- declare const _default: import("vue").DefineComponent<{
3
+ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
4
4
  /**
5
5
  * The name of the switch input field.
6
6
  * Multiple switches can use the same name with a unique value.
@@ -35,6 +35,11 @@ declare const _default: import("vue").DefineComponent<{
35
35
  type: BooleanConstructor;
36
36
  default: boolean;
37
37
  };
38
+ /** v-model If provided, it is the source of truth. */
39
+ modelValue: {
40
+ type: BooleanConstructor;
41
+ required: false;
42
+ };
38
43
  /**
39
44
  * Progmatically set the checked state of the input.
40
45
  * Used outside a FwForm element
@@ -44,11 +49,12 @@ declare const _default: import("vue").DefineComponent<{
44
49
  required: false;
45
50
  default: boolean;
46
51
  };
47
- }, {
48
- isSwitched: import("vue").Ref<boolean>;
49
- toggleSwitch: () => void;
50
- uuid: string;
51
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "change"[], "change", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
52
+ }>, {
53
+ checked: import("vue").ComputedRef<boolean>;
54
+ onNativeChange: (e: Event) => void;
55
+ inputId: string;
56
+ resolvedValue: import("vue").ComputedRef<string>;
57
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("change" | "update:modelValue" | "update:isChecked")[], "change" | "update:modelValue" | "update:isChecked", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
52
58
  /**
53
59
  * The name of the switch input field.
54
60
  * Multiple switches can use the same name with a unique value.
@@ -83,6 +89,11 @@ declare const _default: import("vue").DefineComponent<{
83
89
  type: BooleanConstructor;
84
90
  default: boolean;
85
91
  };
92
+ /** v-model If provided, it is the source of truth. */
93
+ modelValue: {
94
+ type: BooleanConstructor;
95
+ required: false;
96
+ };
86
97
  /**
87
98
  * Progmatically set the checked state of the input.
88
99
  * Used outside a FwForm element
@@ -92,10 +103,373 @@ declare const _default: import("vue").DefineComponent<{
92
103
  required: false;
93
104
  default: boolean;
94
105
  };
95
- }>> & {
106
+ }>> & Readonly<{
107
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
96
108
  onChange?: ((...args: any[]) => any) | undefined;
97
- }, {
109
+ "onUpdate:isChecked"?: ((...args: any[]) => any) | undefined;
110
+ }>, {
111
+ modelValue: boolean;
98
112
  enableErrors: boolean;
99
113
  isChecked: boolean;
100
- }, {}>;
114
+ }, {}, {
115
+ InputField: {
116
+ new (...args: any[]): import("vue").CreateComponentPublicInstance<Readonly<import("vue").ExtractPropTypes<{
117
+ as: {
118
+ type: (ObjectConstructor | StringConstructor)[];
119
+ default: any;
120
+ };
121
+ name: {
122
+ type: StringConstructor;
123
+ required: true;
124
+ };
125
+ rules: {
126
+ type: PropType<import("vee-validate").RuleExpression<unknown>>;
127
+ default: any;
128
+ };
129
+ validateOnMount: {
130
+ type: BooleanConstructor;
131
+ default: boolean;
132
+ };
133
+ validateOnBlur: {
134
+ type: BooleanConstructor;
135
+ default: any;
136
+ };
137
+ validateOnChange: {
138
+ type: BooleanConstructor;
139
+ default: any;
140
+ };
141
+ validateOnInput: {
142
+ type: BooleanConstructor;
143
+ default: any;
144
+ };
145
+ validateOnModelUpdate: {
146
+ type: BooleanConstructor;
147
+ default: any;
148
+ };
149
+ bails: {
150
+ type: BooleanConstructor;
151
+ default: () => boolean;
152
+ };
153
+ label: {
154
+ type: StringConstructor;
155
+ default: any;
156
+ };
157
+ uncheckedValue: {
158
+ type: any;
159
+ default: any;
160
+ };
161
+ modelValue: {
162
+ type: any;
163
+ default: symbol;
164
+ };
165
+ modelModifiers: {
166
+ type: any;
167
+ default: () => {};
168
+ };
169
+ "onUpdate:modelValue": {
170
+ type: PropType<(e: any) => unknown>;
171
+ default: any;
172
+ };
173
+ standalone: {
174
+ type: BooleanConstructor;
175
+ default: boolean;
176
+ };
177
+ keepValue: {
178
+ type: BooleanConstructor;
179
+ default: any;
180
+ };
181
+ }>>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
182
+ [key: string]: any;
183
+ }> | import("vue").Slot<any> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
184
+ [key: string]: any;
185
+ }>[] | {
186
+ default: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
187
+ [key: string]: any;
188
+ }>[];
189
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Readonly<import("vue").ExtractPropTypes<{
190
+ as: {
191
+ type: (ObjectConstructor | StringConstructor)[];
192
+ default: any;
193
+ };
194
+ name: {
195
+ type: StringConstructor;
196
+ required: true;
197
+ };
198
+ rules: {
199
+ type: PropType<import("vee-validate").RuleExpression<unknown>>;
200
+ default: any;
201
+ };
202
+ validateOnMount: {
203
+ type: BooleanConstructor;
204
+ default: boolean;
205
+ };
206
+ validateOnBlur: {
207
+ type: BooleanConstructor;
208
+ default: any;
209
+ };
210
+ validateOnChange: {
211
+ type: BooleanConstructor;
212
+ default: any;
213
+ };
214
+ validateOnInput: {
215
+ type: BooleanConstructor;
216
+ default: any;
217
+ };
218
+ validateOnModelUpdate: {
219
+ type: BooleanConstructor;
220
+ default: any;
221
+ };
222
+ bails: {
223
+ type: BooleanConstructor;
224
+ default: () => boolean;
225
+ };
226
+ label: {
227
+ type: StringConstructor;
228
+ default: any;
229
+ };
230
+ uncheckedValue: {
231
+ type: any;
232
+ default: any;
233
+ };
234
+ modelValue: {
235
+ type: any;
236
+ default: symbol;
237
+ };
238
+ modelModifiers: {
239
+ type: any;
240
+ default: () => {};
241
+ };
242
+ "onUpdate:modelValue": {
243
+ type: PropType<(e: any) => unknown>;
244
+ default: any;
245
+ };
246
+ standalone: {
247
+ type: BooleanConstructor;
248
+ default: boolean;
249
+ };
250
+ keepValue: {
251
+ type: BooleanConstructor;
252
+ default: any;
253
+ };
254
+ }>>, {
255
+ label: string;
256
+ as: string | Record<string, any>;
257
+ bails: boolean;
258
+ uncheckedValue: any;
259
+ modelValue: any;
260
+ validateOnInput: boolean;
261
+ validateOnChange: boolean;
262
+ validateOnBlur: boolean;
263
+ validateOnModelUpdate: boolean;
264
+ validateOnMount: boolean;
265
+ standalone: boolean;
266
+ modelModifiers: any;
267
+ rules: import("vee-validate").RuleExpression<unknown>;
268
+ "onUpdate:modelValue": (e: any) => unknown;
269
+ keepValue: boolean;
270
+ }, true, {}, {}, {
271
+ P: {};
272
+ B: {};
273
+ D: {};
274
+ C: {};
275
+ M: {};
276
+ Defaults: {};
277
+ }, Readonly<import("vue").ExtractPropTypes<{
278
+ as: {
279
+ type: (ObjectConstructor | StringConstructor)[];
280
+ default: any;
281
+ };
282
+ name: {
283
+ type: StringConstructor;
284
+ required: true;
285
+ };
286
+ rules: {
287
+ type: PropType<import("vee-validate").RuleExpression<unknown>>;
288
+ default: any;
289
+ };
290
+ validateOnMount: {
291
+ type: BooleanConstructor;
292
+ default: boolean;
293
+ };
294
+ validateOnBlur: {
295
+ type: BooleanConstructor;
296
+ default: any;
297
+ };
298
+ validateOnChange: {
299
+ type: BooleanConstructor;
300
+ default: any;
301
+ };
302
+ validateOnInput: {
303
+ type: BooleanConstructor;
304
+ default: any;
305
+ };
306
+ validateOnModelUpdate: {
307
+ type: BooleanConstructor;
308
+ default: any;
309
+ };
310
+ bails: {
311
+ type: BooleanConstructor;
312
+ default: () => boolean;
313
+ };
314
+ label: {
315
+ type: StringConstructor;
316
+ default: any;
317
+ };
318
+ uncheckedValue: {
319
+ type: any;
320
+ default: any;
321
+ };
322
+ modelValue: {
323
+ type: any;
324
+ default: symbol;
325
+ };
326
+ modelModifiers: {
327
+ type: any;
328
+ default: () => {};
329
+ };
330
+ "onUpdate:modelValue": {
331
+ type: PropType<(e: any) => unknown>;
332
+ default: any;
333
+ };
334
+ standalone: {
335
+ type: BooleanConstructor;
336
+ default: boolean;
337
+ };
338
+ keepValue: {
339
+ type: BooleanConstructor;
340
+ default: any;
341
+ };
342
+ }>>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
343
+ [key: string]: any;
344
+ }> | import("vue").Slot<any> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
345
+ [key: string]: any;
346
+ }>[] | {
347
+ default: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
348
+ [key: string]: any;
349
+ }>[];
350
+ }, {}, {}, {}, {
351
+ label: string;
352
+ as: string | Record<string, any>;
353
+ bails: boolean;
354
+ uncheckedValue: any;
355
+ modelValue: any;
356
+ validateOnInput: boolean;
357
+ validateOnChange: boolean;
358
+ validateOnBlur: boolean;
359
+ validateOnModelUpdate: boolean;
360
+ validateOnMount: boolean;
361
+ standalone: boolean;
362
+ modelModifiers: any;
363
+ rules: import("vee-validate").RuleExpression<unknown>;
364
+ "onUpdate:modelValue": (e: any) => unknown;
365
+ keepValue: boolean;
366
+ }>;
367
+ __isFragment?: never;
368
+ __isTeleport?: never;
369
+ __isSuspense?: never;
370
+ } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
371
+ as: {
372
+ type: (ObjectConstructor | StringConstructor)[];
373
+ default: any;
374
+ };
375
+ name: {
376
+ type: StringConstructor;
377
+ required: true;
378
+ };
379
+ rules: {
380
+ type: PropType<import("vee-validate").RuleExpression<unknown>>;
381
+ default: any;
382
+ };
383
+ validateOnMount: {
384
+ type: BooleanConstructor;
385
+ default: boolean;
386
+ };
387
+ validateOnBlur: {
388
+ type: BooleanConstructor;
389
+ default: any;
390
+ };
391
+ validateOnChange: {
392
+ type: BooleanConstructor;
393
+ default: any;
394
+ };
395
+ validateOnInput: {
396
+ type: BooleanConstructor;
397
+ default: any;
398
+ };
399
+ validateOnModelUpdate: {
400
+ type: BooleanConstructor;
401
+ default: any;
402
+ };
403
+ bails: {
404
+ type: BooleanConstructor;
405
+ default: () => boolean;
406
+ };
407
+ label: {
408
+ type: StringConstructor;
409
+ default: any;
410
+ };
411
+ uncheckedValue: {
412
+ type: any;
413
+ default: any;
414
+ };
415
+ modelValue: {
416
+ type: any;
417
+ default: symbol;
418
+ };
419
+ modelModifiers: {
420
+ type: any;
421
+ default: () => {};
422
+ };
423
+ 'onUpdate:modelValue': {
424
+ type: PropType<(e: any) => unknown>;
425
+ default: any;
426
+ };
427
+ standalone: {
428
+ type: BooleanConstructor;
429
+ default: boolean;
430
+ };
431
+ keepValue: {
432
+ type: BooleanConstructor;
433
+ default: any;
434
+ };
435
+ }>>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
436
+ [key: string]: any;
437
+ }> | import("vue").Slot<any> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
438
+ [key: string]: any;
439
+ }>[] | {
440
+ default: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
441
+ [key: string]: any;
442
+ }>[];
443
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
444
+ label: string;
445
+ as: string | Record<string, any>;
446
+ bails: boolean;
447
+ uncheckedValue: any;
448
+ modelValue: any;
449
+ validateOnInput: boolean;
450
+ validateOnChange: boolean;
451
+ validateOnBlur: boolean;
452
+ validateOnModelUpdate: boolean;
453
+ validateOnMount: boolean;
454
+ standalone: boolean;
455
+ modelModifiers: any;
456
+ rules: import("vee-validate").RuleExpression<unknown>;
457
+ 'onUpdate:modelValue': (e: any) => unknown;
458
+ keepValue: boolean;
459
+ }, {}, string, {}, {}, {}, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
460
+ value: import("vue").UnwrapRef<import("vee-validate").FieldContext["value"]>;
461
+ meta: import("vue").UnwrapRef<import("vee-validate").FieldContext["meta"]>;
462
+ errors: import("vue").UnwrapRef<import("vee-validate").FieldContext["errors"]>;
463
+ errorMessage: import("vue").UnwrapRef<import("vee-validate").FieldContext["errorMessage"]>;
464
+ setErrors: import("vee-validate").FieldContext["setErrors"];
465
+ setTouched: import("vee-validate").FieldContext["setTouched"];
466
+ reset: import("vee-validate").FieldContext["resetField"];
467
+ validate: import("vee-validate").FieldContext["validate"];
468
+ setValue: import("vee-validate").FieldContext["setValue"];
469
+ handleChange: import("vee-validate").FieldContext["handleChange"];
470
+ $slots: {
471
+ default: (arg: import("vee-validate").FieldSlotProps<any>) => import("vue").VNode[];
472
+ };
473
+ });
474
+ }, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
101
475
  export default _default;
@@ -5,4 +5,5 @@ export declare interface FwSwitchProps {
5
5
  hint?: string;
6
6
  enableErrors?: boolean;
7
7
  isChecked?: boolean;
8
+ modelValue?: boolean;
8
9
  }
@@ -1,2 +1,2 @@
1
- declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>;
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
2
  export default _default;
@@ -1,2 +1,2 @@
1
- declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>;
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
2
  export default _default;
@@ -1,6 +1,6 @@
1
1
  import { type PropType } from 'vue';
2
- import type { FwTableItem, FwTableProps, FwTableSort } from './index.types';
3
- declare const __default__: import("vue").DefineComponent<{
2
+ import type { FwTableItem, FwTableProps, FwTableSort, FwTableColumnMeta } from './index.types';
3
+ declare const __default__: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
4
4
  items: {
5
5
  type: PropType<FwTableProps["items"]>;
6
6
  required: true;
@@ -34,23 +34,30 @@ declare const __default__: import("vue").DefineComponent<{
34
34
  pageSize: {
35
35
  type: NumberConstructor;
36
36
  };
37
- }, {
38
- columns: import("vue").ComputedRef<string[]>;
39
- sortBy: import("vue").Ref<string>;
40
- sortDirection: import("vue").Ref<FwTableSort>;
41
- sortColumn: (column: string, isAction?: boolean) => void;
42
- sortedData: import("vue").ComputedRef<FwTableItem[] | undefined>;
43
- currentSortedColumn: import("vue").Ref<string>;
44
- sortedIcon: (sortDir: string, column: string) => boolean;
45
- formattedText: (row: FwTableItem, column: string) => string | number;
46
- isColumnSortable: (column: string) => boolean | undefined;
47
- isDisabled: (column: string) => boolean;
37
+ /**
38
+ * Optional stable row key. If omitted, falls back to index-based key.
39
+ */
40
+ rowKey: {
41
+ type: (StringConstructor | FunctionConstructor)[];
42
+ required: false;
43
+ };
44
+ }>, {
45
+ colMeta: import("vue").ComputedRef<FwTableColumnMeta[]>;
46
+ sortBy: import("vue").Ref<string, string>;
47
+ sortDirection: import("vue").Ref<FwTableSort, FwTableSort>;
48
+ currentSortedColumn: import("vue").Ref<string, string>;
49
+ onSort: (column: string, isAction?: boolean) => void;
50
+ displayRows: import("vue").ComputedRef<FwTableItem[]>;
48
51
  rowClicked: (row: FwTableItem) => void;
49
52
  bgHoverColor: string;
50
- currentPage: import("vue").Ref<number>;
51
- maxPageAmount: import("vue").Ref<number | undefined>;
53
+ currentPage: import("vue").Ref<number, number>;
54
+ maxPageAmount: import("vue").Ref<number | undefined, number | undefined>;
52
55
  pageArrowClick: (next: boolean) => void;
53
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("rowClicked" | "columnSorted" | "pageChanged")[], "rowClicked" | "columnSorted" | "pageChanged", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
56
+ getRowKey: (row: FwTableItem, index?: number) => any;
57
+ skeletonRowCount: import("vue").ComputedRef<number>;
58
+ getComponentProps: (col: FwTableColumnMeta, row: FwTableItem) => Record<string, unknown>;
59
+ getComponentHandlers: (col: FwTableColumnMeta, row: FwTableItem) => Record<string, (...args: unknown[]) => void>;
60
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("rowClicked" | "columnSorted" | "pageChanged")[], "rowClicked" | "columnSorted" | "pageChanged", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
54
61
  items: {
55
62
  type: PropType<FwTableProps["items"]>;
56
63
  required: true;
@@ -84,13 +91,27 @@ declare const __default__: import("vue").DefineComponent<{
84
91
  pageSize: {
85
92
  type: NumberConstructor;
86
93
  };
87
- }>> & {
94
+ /**
95
+ * Optional stable row key. If omitted, falls back to index-based key.
96
+ */
97
+ rowKey: {
98
+ type: (StringConstructor | FunctionConstructor)[];
99
+ required: false;
100
+ };
101
+ }>> & Readonly<{
88
102
  onRowClicked?: ((...args: any[]) => any) | undefined;
89
103
  onColumnSorted?: ((...args: any[]) => any) | undefined;
90
104
  onPageChanged?: ((...args: any[]) => any) | undefined;
91
- }, {
105
+ }>, {
92
106
  loading: boolean;
93
107
  clickableRows: boolean;
94
108
  enablePagination: boolean;
95
- }, {}>;
109
+ }, {}, {
110
+ FwLoadingBar: import("vue").ComponentOptions;
111
+ FwButton: import("vue").ComponentOptions;
112
+ ArrowDownSvg: VueConstructor<Vue>;
113
+ ArrowSortSvg: VueConstructor<Vue>;
114
+ ChevronLeftSvg: VueConstructor<Vue>;
115
+ ChevronRightSvg: VueConstructor<Vue>;
116
+ }, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
96
117
  export default __default__;
@@ -1,13 +1,33 @@
1
- export declare type FwTableItem = Record<string, string | number>;
2
- export declare type FwTableFormatFunction = (value: string | number | object) => string;
1
+ import type { Component } from 'vue';
2
+ export declare type FwTableItemValue = string | number | boolean | object;
3
+ export declare type FwTableItem = Record<string, FwTableItemValue>;
4
+ export declare type FwTableFormatFunction = (value: FwTableItemValue, row?: FwTableItem) => string;
3
5
  export declare type FwTableSortFunction = (items: FwTableItem[], columnName: string, sortDirection?: FwTableSort) => FwTableItem[] | undefined;
4
6
  export declare type FwTableSort = 'asc' | 'desc';
7
+ export declare type FwTableCellComponentProps = Record<string, unknown> | ((ctx: {
8
+ value: FwTableItemValue;
9
+ row: FwTableItem;
10
+ column: string;
11
+ }) => Record<string, unknown>);
12
+ export declare type FwTableCellComponentHandlers = Record<string, (...args: unknown[]) => void> | ((ctx: {
13
+ value: FwTableItemValue;
14
+ row: FwTableItem;
15
+ column: string;
16
+ }) => Record<string, (...args: unknown[]) => void>);
5
17
  export declare type FwTableItemOptions = Record<string, {
6
18
  formatter?: FwTableFormatFunction;
7
19
  isSortable?: boolean;
8
20
  disabled?: boolean;
9
21
  initSortOrder?: FwTableSort;
10
22
  sort?: FwTableSortFunction;
23
+ /** opt-in for v-html rendering */
24
+ html?: boolean;
25
+ /** render a Vue component inside the cell */
26
+ component?: Component;
27
+ /** props for the component (static or per-row) */
28
+ componentProps?: FwTableCellComponentProps;
29
+ /** optional event handlers/listeners for the component */
30
+ componentEventHandlers?: FwTableCellComponentHandlers;
11
31
  }>;
12
32
  export declare interface FwTableProps {
13
33
  items: FwTableItem[];
@@ -18,4 +38,18 @@ export declare interface FwTableProps {
18
38
  enablePagination?: boolean;
19
39
  totalAmount?: number;
20
40
  pageSize?: number;
41
+ rowKey?: string | ((row: FwTableItem) => string | number);
42
+ }
43
+ export declare interface FwTableColumnMeta {
44
+ key: string;
45
+ disabled: boolean;
46
+ sortable: boolean;
47
+ initSortOrder: FwTableSort;
48
+ sortFn?: FwTableSortFunction;
49
+ html: boolean;
50
+ format: (val: FwTableItemValue, row?: FwTableItem) => FwTableItemValue;
51
+ component?: Component;
52
+ componentProps?: FwTableCellComponentProps;
53
+ componentEventHandlers?: FwTableCellComponentHandlers;
54
+ isActiveSort: boolean;
21
55
  }
@@ -1,4 +1,4 @@
1
- declare const _default: import("vue").DefineComponent<{
1
+ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
2
2
  /**
3
3
  * The label of the tab component used as the button panel label
4
4
  */
@@ -6,13 +6,9 @@ declare const _default: import("vue").DefineComponent<{
6
6
  type: StringConstructor;
7
7
  required: true;
8
8
  };
9
- }, {
9
+ }>, {
10
10
  isActive: import("vue").ComputedRef<boolean>;
11
- index: import("vue").ComputedRef<number | undefined>;
12
- props: import("@vue/shared").LooseRequired<{
13
- readonly label: string;
14
- } & {}>;
15
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
11
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
16
12
  /**
17
13
  * The label of the tab component used as the button panel label
18
14
  */
@@ -20,5 +16,5 @@ declare const _default: import("vue").DefineComponent<{
20
16
  type: StringConstructor;
21
17
  required: true;
22
18
  };
23
- }>>, {}, {}>;
19
+ }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
24
20
  export default _default;
@@ -1,5 +1,5 @@
1
- import { type TabsState } from './index.types';
2
- declare const _default: import("vue").DefineComponent<{
1
+ import { type TabRecord } from './index.types';
2
+ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
3
3
  /**
4
4
  * The active tab v-model
5
5
  */
@@ -7,10 +7,11 @@ declare const _default: import("vue").DefineComponent<{
7
7
  type: NumberConstructor;
8
8
  required: true;
9
9
  };
10
- }, {
11
- state: TabsState;
12
- selectTab: (tab: number) => void;
13
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
10
+ }>, {
11
+ tabs: import("vue").ShallowReactive<TabRecord[]>;
12
+ active: import("vue").ComputedRef<number>;
13
+ selectTab: (index: number) => void;
14
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
14
15
  /**
15
16
  * The active tab v-model
16
17
  */
@@ -18,7 +19,9 @@ declare const _default: import("vue").DefineComponent<{
18
19
  type: NumberConstructor;
19
20
  required: true;
20
21
  };
21
- }>> & {
22
+ }>> & Readonly<{
22
23
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
23
- }, {}, {}>;
24
+ }>, {}, {}, {
25
+ FwButton: import("vue").ComponentOptions;
26
+ }, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
24
27
  export default _default;
@@ -1,7 +1,17 @@
1
- import { type ComponentInternalInstance } from 'vue';
2
- export declare interface TabsState {
3
- tabs: ComponentInternalInstance[] | null;
4
- active: number;
1
+ import { ComputedRef, ShallowReactive } from 'vue';
2
+ export declare type TabRecord = {
3
+ uid: number;
4
+ label: string;
5
+ index: number;
6
+ };
7
+ export declare type TabsApi = {
8
+ active: ComputedRef<number>;
9
+ registerTabs: (uid: number, label: string) => number;
10
+ unregisterTabs: (uid: number) => void;
11
+ tabs: ShallowReactive<TabRecord[]>;
12
+ };
13
+ export declare interface FwTabProps {
14
+ label: string;
5
15
  }
6
16
  export declare interface FwTabsProps {
7
17
  modelValue: number;