@bridge-ui/vue 0.2.0 → 0.4.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 (135) hide show
  1. package/ai/skills/bridge-ui-components/SKILL.md +3 -1
  2. package/dist/Components/Autocomplete/Autocomplete.vue_vue_type_script_setup_true_lang.js +40 -45
  3. package/dist/Components/Autocomplete/composables/useAutocomplete.d.ts +2 -1
  4. package/dist/Components/ColorField/ColorField.vue_vue_type_script_setup_true_lang.js +39 -44
  5. package/dist/Components/ColorField/composables/useColorField.d.ts +3 -1
  6. package/dist/Components/DataTable/DataTable.js +5 -0
  7. package/dist/Components/DataTable/DataTable.vue.d.ts +43 -0
  8. package/dist/Components/DataTable/DataTable.vue_vue_type_script_setup_true_lang.js +396 -0
  9. package/dist/Components/DataTable/DataTableCellContent.js +5 -0
  10. package/dist/Components/DataTable/DataTableCellContent.vue.d.ts +23 -0
  11. package/dist/Components/DataTable/DataTableCellContent.vue_vue_type_script_setup_true_lang.js +38 -0
  12. package/dist/Components/DataTable/DataTableColumnsMenu.js +5 -0
  13. package/dist/Components/DataTable/DataTableColumnsMenu.vue.d.ts +17 -0
  14. package/dist/Components/DataTable/DataTableColumnsMenu.vue_vue_type_script_setup_true_lang.js +92 -0
  15. package/dist/Components/DataTable/DataTableFilterMenu.js +5 -0
  16. package/dist/Components/DataTable/DataTableFilterMenu.vue.d.ts +20 -0
  17. package/dist/Components/DataTable/DataTableFilterMenu.vue_vue_type_script_setup_true_lang.js +151 -0
  18. package/dist/Components/DataTable/DataTableFilterOptions.js +5 -0
  19. package/dist/Components/DataTable/DataTableFilterOptions.vue.d.ts +17 -0
  20. package/dist/Components/DataTable/DataTableFilterOptions.vue_vue_type_script_setup_true_lang.js +81 -0
  21. package/dist/Components/DataTable/DataTableSearch.js +5 -0
  22. package/dist/Components/DataTable/DataTableSearch.vue.d.ts +12 -0
  23. package/dist/Components/DataTable/DataTableSearch.vue_vue_type_script_setup_true_lang.js +39 -0
  24. package/dist/Components/DataTable/DataTableSelection.js +5 -0
  25. package/dist/Components/DataTable/DataTableSelection.vue.d.ts +20 -0
  26. package/dist/Components/DataTable/DataTableSelection.vue_vue_type_script_setup_true_lang.js +56 -0
  27. package/dist/Components/DataTable/DataTableSortButton.js +5 -0
  28. package/dist/Components/DataTable/DataTableSortButton.vue.d.ts +17 -0
  29. package/dist/Components/DataTable/DataTableSortButton.vue_vue_type_script_setup_true_lang.js +43 -0
  30. package/dist/Components/DataTable/DataTableToolbarButton.js +5 -0
  31. package/dist/Components/DataTable/DataTableToolbarButton.vue.d.ts +14 -0
  32. package/dist/Components/DataTable/DataTableToolbarButton.vue_vue_type_script_setup_true_lang.js +31 -0
  33. package/dist/Components/DataTable/composables/useDataTable.d.ts +565 -0
  34. package/dist/Components/DataTable/composables/useDataTable.js +511 -0
  35. package/dist/Components/DataTable/composables/useDataTableColumnsMenu.d.ts +27 -0
  36. package/dist/Components/DataTable/composables/useDataTableColumnsMenu.js +54 -0
  37. package/dist/Components/DataTable/dataTable.types.d.ts +497 -0
  38. package/dist/Components/DataTable/index.d.ts +3 -0
  39. package/dist/Components/DataTable/index.js +3 -0
  40. package/dist/Components/DateField/DateField.vue_vue_type_script_setup_true_lang.js +52 -57
  41. package/dist/Components/DateField/composables/useDateField.d.ts +3 -1
  42. package/dist/Components/DateRangeField/DateRangeField.vue_vue_type_script_setup_true_lang.js +50 -55
  43. package/dist/Components/DateRangeField/composables/useDateRangeField.d.ts +3 -1
  44. package/dist/Components/DateTimeField/DateTimeField.vue_vue_type_script_setup_true_lang.js +56 -61
  45. package/dist/Components/DateTimeField/composables/useDateTimeField.d.ts +3 -1
  46. package/dist/Components/DateTimeRangeField/DateTimeRangeField.vue_vue_type_script_setup_true_lang.js +56 -61
  47. package/dist/Components/DateTimeRangeField/composables/useDateTimeRangeField.d.ts +3 -1
  48. package/dist/Components/FormField/composables/useFormField.d.ts +2 -1
  49. package/dist/Components/FormField/composables/useFormField.js +80 -75
  50. package/dist/Components/Menu/Menu.vue_vue_type_script_setup_true_lang.js +1 -0
  51. package/dist/Components/Menu/composables/useMenu.d.ts +1 -1
  52. package/dist/Components/Menu/composables/useMenu.js +7 -3
  53. package/dist/Components/Menu/menu.types.d.ts +6 -0
  54. package/dist/Components/NumberField/NumberField.vue_vue_type_script_setup_true_lang.js +53 -43
  55. package/dist/Components/NumberField/composables/useNumberField.d.ts +9 -2
  56. package/dist/Components/NumberField/composables/useNumberField.js +49 -36
  57. package/dist/Components/NumberField/index.d.ts +1 -1
  58. package/dist/Components/NumberField/numberField.types.d.ts +13 -1
  59. package/dist/Components/PasswordField/PasswordField.vue_vue_type_script_setup_true_lang.js +28 -33
  60. package/dist/Components/PasswordField/composables/usePasswordField.d.ts +2 -1
  61. package/dist/Components/Radio/Radio.vue_vue_type_script_setup_true_lang.js +9 -9
  62. package/dist/Components/Radio/composables/useRadio.js +57 -54
  63. package/dist/Components/Select/Select.vue_vue_type_script_setup_true_lang.js +42 -47
  64. package/dist/Components/Select/composables/useSelect.d.ts +2 -1
  65. package/dist/Components/Slider/Slider.vue_vue_type_script_setup_true_lang.js +43 -48
  66. package/dist/Components/Slider/composables/useSlider.d.ts +3 -3
  67. package/dist/Components/Snackbar/composables/useSnackbar.d.ts +1 -1
  68. package/dist/Components/Table/Table.js +5 -0
  69. package/dist/Components/Table/Table.vue.d.ts +16 -0
  70. package/dist/Components/Table/Table.vue_vue_type_script_setup_true_lang.js +44 -0
  71. package/dist/Components/Table/TableBody.js +5 -0
  72. package/dist/Components/Table/TableBody.vue.d.ts +11 -0
  73. package/dist/Components/Table/TableBody.vue_vue_type_script_setup_true_lang.js +17 -0
  74. package/dist/Components/Table/TableCaption.js +5 -0
  75. package/dist/Components/Table/TableCaption.vue.d.ts +11 -0
  76. package/dist/Components/Table/TableCaption.vue_vue_type_script_setup_true_lang.js +17 -0
  77. package/dist/Components/Table/TableCell.js +5 -0
  78. package/dist/Components/Table/TableCell.vue.d.ts +11 -0
  79. package/dist/Components/Table/TableCell.vue_vue_type_script_setup_true_lang.js +19 -0
  80. package/dist/Components/Table/TableFooter.js +5 -0
  81. package/dist/Components/Table/TableFooter.vue.d.ts +11 -0
  82. package/dist/Components/Table/TableFooter.vue_vue_type_script_setup_true_lang.js +17 -0
  83. package/dist/Components/Table/TableHead.js +5 -0
  84. package/dist/Components/Table/TableHead.vue.d.ts +11 -0
  85. package/dist/Components/Table/TableHead.vue_vue_type_script_setup_true_lang.js +19 -0
  86. package/dist/Components/Table/TableHeader.js +5 -0
  87. package/dist/Components/Table/TableHeader.vue.d.ts +11 -0
  88. package/dist/Components/Table/TableHeader.vue_vue_type_script_setup_true_lang.js +17 -0
  89. package/dist/Components/Table/TableRow.js +5 -0
  90. package/dist/Components/Table/TableRow.vue.d.ts +11 -0
  91. package/dist/Components/Table/TableRow.vue_vue_type_script_setup_true_lang.js +17 -0
  92. package/dist/Components/Table/composables/useTable.d.ts +19 -0
  93. package/dist/Components/Table/composables/useTable.js +89 -0
  94. package/dist/Components/Table/composables/useTableCell.d.ts +12 -0
  95. package/dist/Components/Table/composables/useTableCell.js +40 -0
  96. package/dist/Components/Table/composables/useTablePart.d.ts +12 -0
  97. package/dist/Components/Table/composables/useTablePart.js +32 -0
  98. package/dist/Components/Table/composables/useTableRow.d.ts +6 -0
  99. package/dist/Components/Table/composables/useTableRow.js +29 -0
  100. package/dist/Components/Table/index.d.ts +14 -0
  101. package/dist/Components/Table/index.js +14 -0
  102. package/dist/Components/Table/table.types.d.ts +417 -0
  103. package/dist/Components/Table/tableInjectionKey.d.ts +114 -0
  104. package/dist/Components/Table/tableInjectionKey.js +4 -0
  105. package/dist/Components/TextField/TextField.vue_vue_type_script_setup_true_lang.js +11 -16
  106. package/dist/Components/TextField/composables/useTextField.d.ts +2 -1
  107. package/dist/Components/Textarea/Textarea.vue_vue_type_script_setup_true_lang.js +15 -20
  108. package/dist/Components/Textarea/composables/useTextarea.d.ts +2 -1
  109. package/dist/Components/TimeField/TimeField.vue_vue_type_script_setup_true_lang.js +45 -50
  110. package/dist/Components/TimeField/composables/useTimeField.d.ts +3 -1
  111. package/dist/Components/TimeRangeField/TimeRangeField.vue_vue_type_script_setup_true_lang.js +45 -50
  112. package/dist/Components/TimeRangeField/composables/useTimeRangeField.d.ts +3 -1
  113. package/dist/Utils/index.d.ts +1 -0
  114. package/dist/Utils/index.js +28 -27
  115. package/dist/Utils/useOptionalModel.d.ts +6 -0
  116. package/dist/Utils/useOptionalModel.js +13 -0
  117. package/dist/augments.d.ts +1 -1
  118. package/dist/index.d.ts +1 -1
  119. package/dist/theme.css +46 -42
  120. package/docs/README.md +2 -0
  121. package/docs/components/CalendarDate.md +1 -1
  122. package/docs/components/DataTable.md +371 -0
  123. package/docs/components/DateField.md +2 -2
  124. package/docs/components/DatePicker.md +3 -3
  125. package/docs/components/DateRangePicker.md +1 -1
  126. package/docs/components/NumberField.md +17 -6
  127. package/docs/components/Pagination.md +2 -2
  128. package/docs/components/Table.md +122 -0
  129. package/docs/examples/i18n-dictionary.ts +10 -0
  130. package/docs/examples/icon-fontawesome.ts +12 -0
  131. package/docs/examples/icon-heroicons.ts +12 -0
  132. package/docs/examples/icon-lucide.ts +12 -0
  133. package/docs/examples/icon-phosphor.ts +12 -0
  134. package/docs/examples/icon-tabler.ts +12 -0
  135. package/package.json +9 -2
@@ -0,0 +1,14 @@
1
+ export { useTable } from './composables/useTable';
2
+ export { useTableCell } from './composables/useTableCell';
3
+ export { useTablePart } from './composables/useTablePart';
4
+ export { useTableRow } from './composables/useTableRow';
5
+ export type { TableAlignOverrides, TableBodyClasses, TableBodyCustomProps, TableBodyOwnProps, TableBodyProps, TableBodySlots, TableCaptionClasses, TableCaptionCustomProps, TableCaptionOwnProps, TableCaptionProps, TableCaptionSlots, TableCellClasses, TableCellCustomProps, TableCellOwnProps, TableCellProps, TableCellSlots, TableClasses, TableCustomProps, TableFooterClasses, TableFooterCustomProps, TableFooterOwnProps, TableFooterProps, TableFooterSlots, TableHeadClasses, TableHeadCustomProps, TableHeadOwnProps, TableHeadProps, TableHeadSlots, TableHeaderClasses, TableHeaderCustomProps, TableHeaderOwnProps, TableHeaderProps, TableHeaderSlots, TableOwnProps, TableProps, TableRoundedOverrides, TableRowClasses, TableRowCustomProps, TableRowOwnProps, TableRowProps, TableRowSlots, TableSizeOverrides, TableSlots, TableVariantOverrides, } from './table.types';
6
+ export { default as Table } from './Table.vue';
7
+ export { default as TableBody } from './TableBody.vue';
8
+ export { default as TableCaption } from './TableCaption.vue';
9
+ export { default as TableCell } from './TableCell.vue';
10
+ export { default as TableFooter } from './TableFooter.vue';
11
+ export { default as TableHead } from './TableHead.vue';
12
+ export { default as TableHeader } from './TableHeader.vue';
13
+ export { TABLE_INJECTION_KEY, TABLE_SECTION_INJECTION_KEY, type TableContextValue, type TableSection, type TableTokenClasses, } from './tableInjectionKey';
14
+ export { default as TableRow } from './TableRow.vue';
@@ -0,0 +1,14 @@
1
+ import { TABLE_INJECTION_KEY as e, TABLE_SECTION_INJECTION_KEY as t } from "./tableInjectionKey.js";
2
+ import { useTable as n } from "./composables/useTable.js";
3
+ import { useTableCell as r } from "./composables/useTableCell.js";
4
+ import { useTablePart as i } from "./composables/useTablePart.js";
5
+ import { useTableRow as a } from "./composables/useTableRow.js";
6
+ import o from "./Table.js";
7
+ import s from "./TableBody.js";
8
+ import c from "./TableCaption.js";
9
+ import l from "./TableCell.js";
10
+ import u from "./TableFooter.js";
11
+ import d from "./TableHead.js";
12
+ import f from "./TableHeader.js";
13
+ import p from "./TableRow.js";
14
+ export { e as TABLE_INJECTION_KEY, t as TABLE_SECTION_INJECTION_KEY, o as Table, s as TableBody, c as TableCaption, l as TableCell, u as TableFooter, d as TableHead, f as TableHeader, p as TableRow, n as useTable, r as useTableCell, i as useTablePart, a as useTableRow };
@@ -0,0 +1,417 @@
1
+ import { HTMLAttributes, Slot, TdHTMLAttributes, ThHTMLAttributes } from 'vue';
2
+ import { TableAlign, TableRounded, TableSize, TableVariant } from '@bridge-ui/core/Tokens';
3
+ import { MergeHtmlProps, MergeProps } from '@bridge-ui/core/Utils';
4
+ export interface TableSizeOverrides {}
5
+ export interface TableAlignOverrides {}
6
+ export interface TableRoundedOverrides {}
7
+ export interface TableVariantOverrides {}
8
+ export interface TableBodyClasses {
9
+ /**
10
+ * Classes merged onto the `tbody`.
11
+ */
12
+ root?: string;
13
+ }
14
+ export interface TableBodyCustomProps {
15
+ /**
16
+ * Props forwarded to the `tbody`.
17
+ *
18
+ * @default undefined
19
+ */
20
+ root?: HTMLAttributes;
21
+ }
22
+ /**
23
+ * Table body (`tbody`). Must be used inside `Table`.
24
+ */
25
+ export interface TableBodyOwnProps {
26
+ /**
27
+ * Classes for the body.
28
+ *
29
+ * @default undefined
30
+ */
31
+ classes?: TableBodyClasses;
32
+ /**
33
+ * Extra props for the `tbody`.
34
+ *
35
+ * @default undefined
36
+ */
37
+ customProps?: TableBodyCustomProps;
38
+ }
39
+ export interface TableBodySlots {
40
+ /**
41
+ * Body rows.
42
+ */
43
+ default?: Slot<undefined>;
44
+ }
45
+ export interface TableCaptionClasses {
46
+ /**
47
+ * Classes merged onto the caption.
48
+ */
49
+ root?: string;
50
+ }
51
+ export interface TableCaptionCustomProps {
52
+ /**
53
+ * Props forwarded to the caption.
54
+ *
55
+ * @default undefined
56
+ */
57
+ root?: HTMLAttributes;
58
+ }
59
+ /**
60
+ * Table caption. Must be used inside `Table`.
61
+ */
62
+ export interface TableCaptionOwnProps {
63
+ /**
64
+ * Classes for the caption.
65
+ *
66
+ * @default undefined
67
+ */
68
+ classes?: TableCaptionClasses;
69
+ /**
70
+ * Extra props for the caption.
71
+ *
72
+ * @default undefined
73
+ */
74
+ customProps?: TableCaptionCustomProps;
75
+ }
76
+ export interface TableCaptionSlots {
77
+ /**
78
+ * Caption content.
79
+ */
80
+ default?: Slot<undefined>;
81
+ }
82
+ export interface TableCellClasses {
83
+ /**
84
+ * Classes merged onto the `td`.
85
+ */
86
+ root?: string;
87
+ }
88
+ export interface TableCellCustomProps {
89
+ /**
90
+ * Props forwarded to the `td`.
91
+ *
92
+ * @default undefined
93
+ */
94
+ root?: TdHTMLAttributes;
95
+ }
96
+ /**
97
+ * Table body cell (`td`). Must be used inside `Table`.
98
+ */
99
+ export interface TableCellOwnProps {
100
+ /**
101
+ * Text alignment.
102
+ *
103
+ * @default "start"
104
+ */
105
+ align?: MergeProps<TableAlign, TableAlignOverrides>;
106
+ /**
107
+ * Classes for the cell.
108
+ *
109
+ * @default undefined
110
+ */
111
+ classes?: TableCellClasses;
112
+ /**
113
+ * Extra props for the `td`.
114
+ *
115
+ * @default undefined
116
+ */
117
+ customProps?: TableCellCustomProps;
118
+ /**
119
+ * Tabular numbers and end alignment (unless `align` is set).
120
+ *
121
+ * @default false
122
+ */
123
+ numeric?: boolean;
124
+ }
125
+ export interface TableCellSlots {
126
+ /**
127
+ * Cell content.
128
+ */
129
+ default?: Slot<undefined>;
130
+ }
131
+ export interface TableClasses {
132
+ /**
133
+ * Classes merged onto the `tbody`.
134
+ */
135
+ body?: string;
136
+ /**
137
+ * Classes merged onto the caption.
138
+ */
139
+ caption?: string;
140
+ /**
141
+ * Classes merged onto body cells.
142
+ */
143
+ cell?: string;
144
+ /**
145
+ * Classes merged onto the `tfoot`.
146
+ */
147
+ footer?: string;
148
+ /**
149
+ * Classes merged onto header cells.
150
+ */
151
+ head?: string;
152
+ /**
153
+ * Classes merged onto the `thead`.
154
+ */
155
+ header?: string;
156
+ /**
157
+ * Classes merged onto the wrapper around `<table>`.
158
+ */
159
+ root?: string;
160
+ /**
161
+ * Classes merged onto rows.
162
+ */
163
+ row?: string;
164
+ /**
165
+ * Classes merged onto the `<table>` element.
166
+ */
167
+ table?: string;
168
+ }
169
+ export interface TableCustomProps {
170
+ /**
171
+ * Props forwarded to the wrapper around `<table>`.
172
+ *
173
+ * @default undefined
174
+ */
175
+ root?: HTMLAttributes;
176
+ /**
177
+ * Props forwarded to the `<table>` element.
178
+ *
179
+ * @default undefined
180
+ */
181
+ table?: HTMLAttributes;
182
+ }
183
+ export interface TableFooterClasses {
184
+ /**
185
+ * Classes merged onto the `tfoot`.
186
+ */
187
+ root?: string;
188
+ }
189
+ export interface TableFooterCustomProps {
190
+ /**
191
+ * Props forwarded to the `tfoot`.
192
+ *
193
+ * @default undefined
194
+ */
195
+ root?: HTMLAttributes;
196
+ }
197
+ /**
198
+ * Table footer (`tfoot`). Must be used inside `Table`.
199
+ */
200
+ export interface TableFooterOwnProps {
201
+ /**
202
+ * Classes for the footer.
203
+ *
204
+ * @default undefined
205
+ */
206
+ classes?: TableFooterClasses;
207
+ /**
208
+ * Extra props for the `tfoot`.
209
+ *
210
+ * @default undefined
211
+ */
212
+ customProps?: TableFooterCustomProps;
213
+ }
214
+ export interface TableFooterSlots {
215
+ /**
216
+ * Footer rows.
217
+ */
218
+ default?: Slot<undefined>;
219
+ }
220
+ export interface TableHeadClasses {
221
+ /**
222
+ * Classes merged onto the `th`.
223
+ */
224
+ root?: string;
225
+ }
226
+ export interface TableHeadCustomProps {
227
+ /**
228
+ * Props forwarded to the `th`.
229
+ *
230
+ * @default undefined
231
+ */
232
+ root?: ThHTMLAttributes;
233
+ }
234
+ /**
235
+ * Table header cell (`th`). Must be used inside `Table`.
236
+ */
237
+ export interface TableHeadOwnProps {
238
+ /**
239
+ * Text alignment.
240
+ *
241
+ * @default "start"
242
+ */
243
+ align?: MergeProps<TableAlign, TableAlignOverrides>;
244
+ /**
245
+ * Classes for the header cell.
246
+ *
247
+ * @default undefined
248
+ */
249
+ classes?: TableHeadClasses;
250
+ /**
251
+ * Extra props for the `th`.
252
+ *
253
+ * @default undefined
254
+ */
255
+ customProps?: TableHeadCustomProps;
256
+ /**
257
+ * Tabular numbers and end alignment (unless `align` is set).
258
+ *
259
+ * @default false
260
+ */
261
+ numeric?: boolean;
262
+ }
263
+ export interface TableHeadSlots {
264
+ /**
265
+ * Header cell content.
266
+ */
267
+ default?: Slot<undefined>;
268
+ }
269
+ export interface TableHeaderClasses {
270
+ /**
271
+ * Classes merged onto the `thead`.
272
+ */
273
+ root?: string;
274
+ }
275
+ export interface TableHeaderCustomProps {
276
+ /**
277
+ * Props forwarded to the `thead`.
278
+ *
279
+ * @default undefined
280
+ */
281
+ root?: HTMLAttributes;
282
+ }
283
+ /**
284
+ * Table header (`thead`). Must be used inside `Table`.
285
+ */
286
+ export interface TableHeaderOwnProps {
287
+ /**
288
+ * Classes for the header.
289
+ *
290
+ * @default undefined
291
+ */
292
+ classes?: TableHeaderClasses;
293
+ /**
294
+ * Extra props for the `thead`.
295
+ *
296
+ * @default undefined
297
+ */
298
+ customProps?: TableHeaderCustomProps;
299
+ }
300
+ export interface TableHeaderSlots {
301
+ /**
302
+ * Header rows.
303
+ */
304
+ default?: Slot<undefined>;
305
+ }
306
+ /**
307
+ * Presentational table root. Compose with `TableHeader`, `TableBody`,
308
+ * `TableRow`, `TableHead`, and `TableCell`.
309
+ */
310
+ export interface TableOwnProps {
311
+ /**
312
+ * Classes for table parts.
313
+ *
314
+ * @default undefined
315
+ */
316
+ classes?: TableClasses;
317
+ /**
318
+ * Extra props for the wrapper and `<table>`.
319
+ *
320
+ * @default undefined
321
+ */
322
+ customProps?: TableCustomProps;
323
+ /**
324
+ * Stretch the table to at least the wrapper width. When `false`, the
325
+ * wrapper hugs column content instead of spanning the parent.
326
+ *
327
+ * @default true
328
+ */
329
+ full?: boolean;
330
+ /**
331
+ * Row hover styles on the body.
332
+ *
333
+ * @default false
334
+ */
335
+ hoverable?: boolean;
336
+ /**
337
+ * Corner radius of the wrapper, header, and footer.
338
+ *
339
+ * @default "lg"
340
+ */
341
+ rounded?: MergeProps<TableRounded, TableRoundedOverrides>;
342
+ /**
343
+ * Cell padding / type scale.
344
+ *
345
+ * @default "md"
346
+ */
347
+ size?: MergeProps<TableSize, TableSizeOverrides>;
348
+ /**
349
+ * Stick header cells to the top of the nearest scrollport (usually the page).
350
+ *
351
+ * @default false
352
+ */
353
+ stickyHeader?: boolean;
354
+ /**
355
+ * Alternating body row surfaces.
356
+ *
357
+ * @default false
358
+ */
359
+ striped?: boolean;
360
+ /**
361
+ * Chrome treatment. Pair with Pagination `text` / `ghost` / `outlined`.
362
+ *
363
+ * @default "plain"
364
+ */
365
+ variant?: MergeProps<TableVariant, TableVariantOverrides>;
366
+ }
367
+ export interface TableRowClasses {
368
+ /**
369
+ * Classes merged onto the `tr`.
370
+ */
371
+ root?: string;
372
+ }
373
+ export interface TableRowCustomProps {
374
+ /**
375
+ * Props forwarded to the `tr`.
376
+ *
377
+ * @default undefined
378
+ */
379
+ root?: HTMLAttributes;
380
+ }
381
+ /**
382
+ * Table row (`tr`). Must be used inside `Table`.
383
+ */
384
+ export interface TableRowOwnProps {
385
+ /**
386
+ * Classes for the row.
387
+ *
388
+ * @default undefined
389
+ */
390
+ classes?: TableRowClasses;
391
+ /**
392
+ * Extra props for the `tr`.
393
+ *
394
+ * @default undefined
395
+ */
396
+ customProps?: TableRowCustomProps;
397
+ }
398
+ export interface TableRowSlots {
399
+ /**
400
+ * Row cells.
401
+ */
402
+ default?: Slot<undefined>;
403
+ }
404
+ export interface TableSlots {
405
+ /**
406
+ * Table sections and caption.
407
+ */
408
+ default?: Slot<undefined>;
409
+ }
410
+ export type TableBodyProps = MergeHtmlProps<TableBodyOwnProps, HTMLAttributes>;
411
+ export type TableCaptionProps = MergeHtmlProps<TableCaptionOwnProps, HTMLAttributes>;
412
+ export type TableCellProps = MergeHtmlProps<TableCellOwnProps, TdHTMLAttributes>;
413
+ export type TableFooterProps = MergeHtmlProps<TableFooterOwnProps, HTMLAttributes>;
414
+ export type TableHeadProps = MergeHtmlProps<TableHeadOwnProps, ThHTMLAttributes>;
415
+ export type TableHeaderProps = MergeHtmlProps<TableHeaderOwnProps, HTMLAttributes>;
416
+ export type TableProps = MergeHtmlProps<TableOwnProps, HTMLAttributes>;
417
+ export type TableRowProps = MergeHtmlProps<TableRowOwnProps, HTMLAttributes>;
@@ -0,0 +1,114 @@
1
+ import { ComputedRef, InjectionKey } from 'vue';
2
+ import { TableAlign } from '@bridge-ui/core/Tokens';
3
+ /**
4
+ * Table section for row hover / stripe and sticky header cells.
5
+ */
6
+ export type TableSection = "body" | "footer" | "header";
7
+ /**
8
+ * Merged token classes for table parts.
9
+ */
10
+ export type TableTokenClasses = {
11
+ /**
12
+ * Merged align class maps for cells and header cells.
13
+ */
14
+ align: TableAlign;
15
+ /**
16
+ * Footer corner radius classes.
17
+ */
18
+ roundedFooter?: string;
19
+ /**
20
+ * Header corner radius classes.
21
+ */
22
+ roundedHeader?: string;
23
+ /**
24
+ * Caption size classes.
25
+ */
26
+ sizeCaption?: string;
27
+ /**
28
+ * Body cell size classes.
29
+ */
30
+ sizeCell?: string;
31
+ /**
32
+ * Header cell size classes.
33
+ */
34
+ sizeHead?: string;
35
+ /**
36
+ * Body variant classes.
37
+ */
38
+ variantBody?: string;
39
+ /**
40
+ * Caption variant classes.
41
+ */
42
+ variantCaption?: string;
43
+ /**
44
+ * Body cell variant classes.
45
+ */
46
+ variantCell?: string;
47
+ /**
48
+ * Footer variant classes.
49
+ */
50
+ variantFooter?: string;
51
+ /**
52
+ * Header cell variant classes.
53
+ */
54
+ variantHead?: string;
55
+ /**
56
+ * Header variant classes.
57
+ */
58
+ variantHeader?: string;
59
+ /**
60
+ * Sticky header cell variant classes.
61
+ */
62
+ variantHeadSticky?: string;
63
+ /**
64
+ * Row variant classes.
65
+ */
66
+ variantRow?: string;
67
+ /**
68
+ * Hoverable body row variant classes.
69
+ */
70
+ variantRowHover?: string;
71
+ /**
72
+ * Striped body row variant classes.
73
+ */
74
+ variantRowStriped?: string;
75
+ };
76
+ /**
77
+ * Shared table chrome for `Table*` descendants.
78
+ */
79
+ export type TableContextValue = {
80
+ /**
81
+ * Whether the table is full width.
82
+ */
83
+ full: boolean;
84
+ /**
85
+ * Whether body rows show hover styles.
86
+ */
87
+ hoverable: boolean;
88
+ /**
89
+ * Registry / instance classes for parts.
90
+ */
91
+ mergedClasses: {
92
+ body?: string;
93
+ caption?: string;
94
+ cell?: string;
95
+ footer?: string;
96
+ head?: string;
97
+ header?: string;
98
+ row?: string;
99
+ };
100
+ /**
101
+ * Whether header cells stick to the nearest scrollport (usually the page).
102
+ */
103
+ stickyHeader: boolean;
104
+ /**
105
+ * Whether body rows alternate surfaces.
106
+ */
107
+ striped: boolean;
108
+ /**
109
+ * Merged token classes for parts.
110
+ */
111
+ tokenClasses: TableTokenClasses;
112
+ };
113
+ export declare const TABLE_INJECTION_KEY: InjectionKey<ComputedRef<TableContextValue>>;
114
+ export declare const TABLE_SECTION_INJECTION_KEY: InjectionKey<ComputedRef<TableSection>>;
@@ -0,0 +1,4 @@
1
+ //#region src/Components/Table/tableInjectionKey.ts
2
+ var e = Symbol("bridge-table"), t = Symbol("bridge-table-section");
3
+ //#endregion
4
+ export { e as TABLE_INJECTION_KEY, t as TABLE_SECTION_INJECTION_KEY };
@@ -1,14 +1,14 @@
1
1
  import { presentSlotNames as e } from "../../Utils/slotOrProp.js";
2
- import { FORM_FIELD_CHROME_SLOT_NAMES as t } from "../FormField/formField.types.js";
3
- import n from "../FormField/FormField.js";
4
- import { useTextField as r } from "./composables/useTextField.js";
5
- import { computed as i, createBlock as a, createElementVNode as o, createSlots as s, defineComponent as c, guardReactiveProps as l, mergeModels as u, mergeProps as d, normalizeProps as f, openBlock as p, ref as m, renderList as h, renderSlot as g, unref as _, useModel as v, vModelDynamic as y, withCtx as b, withDirectives as x } from "vue";
6
- import { isUndefined as S } from "es-toolkit/compat";
2
+ import { useOptionalModel as t } from "../../Utils/useOptionalModel.js";
3
+ import { FORM_FIELD_CHROME_SLOT_NAMES as n } from "../FormField/formField.types.js";
4
+ import r from "../FormField/FormField.js";
5
+ import { useTextField as i } from "./composables/useTextField.js";
6
+ import { createBlock as a, createElementVNode as o, createSlots as s, defineComponent as c, guardReactiveProps as l, isRef as u, mergeModels as d, mergeProps as f, normalizeProps as p, openBlock as m, ref as h, renderList as g, renderSlot as _, unref as v, useModel as y, vModelDynamic as b, withCtx as x, withDirectives as S } from "vue";
7
7
  //#region src/Components/TextField/TextField.vue?vue&type=script&setup=true&lang.ts
8
8
  var C = /*@__PURE__*/ c({
9
9
  inheritAttrs: !1,
10
10
  __name: "TextField",
11
- props: /*@__PURE__*/ u({
11
+ props: /*@__PURE__*/ d({
12
12
  defaultValue: {},
13
13
  classes: {},
14
14
  color: {},
@@ -42,18 +42,13 @@ var C = /*@__PURE__*/ c({
42
42
  }),
43
43
  emits: ["update:modelValue"],
44
44
  setup(c) {
45
- let u = v(c, "modelValue"), C = c, w = m(C.defaultValue), T = i({
46
- set: (e) => {
47
- u.value = e, w.value = e;
48
- },
49
- get: () => S(u.value) ? w.value : u.value
50
- }), { formField: E, inputBind: D } = r(C);
51
- return (r, i) => (p(), a(_(n), { field: _(E) }, s({
52
- default: b(() => [x(o("input", d({ "onUpdate:modelValue": i[0] ||= (e) => T.value = e }, _(D)), null, 16), [[y, T.value]])]),
45
+ let d = y(c, "modelValue"), C = c, w = h(C.defaultValue), T = t(d, w), { formField: E, inputBind: D } = i(C);
46
+ return (t, i) => (m(), a(v(r), { field: v(E) }, s({
47
+ default: x(() => [S(o("input", f({ "onUpdate:modelValue": i[0] ||= (e) => u(T) ? T.value = e : null }, v(D)), null, 16), [[b, v(T)]])]),
53
48
  _: 2
54
- }, [h(_(e)(_(t), r.$slots), (e) => ({
49
+ }, [g(v(e)(v(n), t.$slots), (e) => ({
55
50
  name: e,
56
- fn: b((t) => [g(r.$slots, e, f(l(t || {})))])
51
+ fn: x((n) => [_(t.$slots, e, p(l(n || {})))])
57
52
  }))]), 1032, ["field"]));
58
53
  }
59
54
  });
@@ -170,7 +170,7 @@ export declare function useTextField(props: TextFieldOwnProps): {
170
170
  dir?: string | undefined | undefined;
171
171
  draggable?: (boolean | "true" | "false") | undefined;
172
172
  enterkeyhint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined | undefined;
173
- enterKeyHint?: "done" | "search" | "enter" | "go" | "next" | "previous" | "send" | undefined;
173
+ enterKeyHint?: "search" | "done" | "enter" | "go" | "next" | "previous" | "send" | undefined;
174
174
  hidden?: "" | "until-found" | "hidden" | (boolean | "true" | "false") | undefined;
175
175
  inert?: (boolean | "true" | "false") | undefined;
176
176
  placeholder?: string | undefined | undefined;
@@ -440,6 +440,7 @@ export declare function useTextField(props: TextFieldOwnProps): {
440
440
  endSlotBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {}>>;
441
441
  invalidated: import('vue').ComputedRef<boolean>;
442
442
  containerBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {
443
+ "data-bridge-variant": NonNullable<keyof import('@bridge-ui/core/Tokens').FormFieldVariant | undefined>;
443
444
  "data-bridge-rounded": NonNullable<keyof import('@bridge-ui/core/Tokens').FormFieldRounded | undefined>;
444
445
  }>>;
445
446
  startIconBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", Partial<Omit<import('../../Icon').IconProps, "icon">> | undefined, {}>>;
@@ -1,14 +1,14 @@
1
1
  import { presentSlotNames as e } from "../../Utils/slotOrProp.js";
2
- import { FORM_FIELD_CHROME_SLOT_NAMES as t } from "../FormField/formField.types.js";
3
- import n from "../FormField/FormField.js";
4
- import { useTextarea as r } from "./composables/useTextarea.js";
5
- import { computed as i, createBlock as a, createElementVNode as o, createSlots as s, defineComponent as c, guardReactiveProps as l, mergeModels as u, mergeProps as d, normalizeProps as f, openBlock as p, ref as m, renderList as h, renderSlot as g, unref as _, useModel as v, useTemplateRef as y, vModelText as b, watch as x, withCtx as S, withDirectives as C } from "vue";
6
- import { isUndefined as w } from "es-toolkit/compat";
2
+ import { useOptionalModel as t } from "../../Utils/useOptionalModel.js";
3
+ import { FORM_FIELD_CHROME_SLOT_NAMES as n } from "../FormField/formField.types.js";
4
+ import r from "../FormField/FormField.js";
5
+ import { useTextarea as i } from "./composables/useTextarea.js";
6
+ import { createBlock as a, createElementVNode as o, createSlots as s, defineComponent as c, guardReactiveProps as l, isRef as u, mergeModels as d, mergeProps as f, normalizeProps as p, openBlock as m, ref as h, renderList as g, renderSlot as _, unref as v, useModel as y, useTemplateRef as b, vModelText as x, watch as S, withCtx as C, withDirectives as w } from "vue";
7
7
  //#region src/Components/Textarea/Textarea.vue?vue&type=script&setup=true&lang.ts
8
8
  var T = /*@__PURE__*/ c({
9
9
  inheritAttrs: !1,
10
10
  __name: "Textarea",
11
- props: /*@__PURE__*/ u({
11
+ props: /*@__PURE__*/ d({
12
12
  autosize: { type: Boolean },
13
13
  defaultValue: {},
14
14
  likeInput: { type: Boolean },
@@ -45,23 +45,18 @@ var T = /*@__PURE__*/ c({
45
45
  }),
46
46
  emits: ["update:modelValue"],
47
47
  setup(c) {
48
- let u = v(c, "modelValue"), T = c, E = m(T.defaultValue), D = i({
49
- set: (e) => {
50
- u.value = e, E.value = e;
51
- },
52
- get: () => w(u.value) ? E.value : u.value
53
- }), O = y("textarea"), { formField: k, textareaBind: A, adjustHeight: j } = r(T, O);
54
- return x(D, () => {
55
- j(O.value);
56
- }), (r, i) => (p(), a(_(n), { field: _(k) }, s({
57
- default: S(() => [C(o("textarea", d({
48
+ let d = y(c, "modelValue"), T = c, E = b("textarea"), D = h(T.defaultValue), O = t(d, D), { formField: k, textareaBind: A, adjustHeight: j } = i(T, E);
49
+ return S(O, () => {
50
+ j(E.value);
51
+ }), (t, i) => (m(), a(v(r), { field: v(k) }, s({
52
+ default: C(() => [w(o("textarea", f({
58
53
  ref: "textarea",
59
- "onUpdate:modelValue": i[0] ||= (e) => D.value = e
60
- }, _(A)), null, 16), [[b, D.value]])]),
54
+ "onUpdate:modelValue": i[0] ||= (e) => u(O) ? O.value = e : null
55
+ }, v(A)), null, 16), [[x, v(O)]])]),
61
56
  _: 2
62
- }, [h(_(e)(_(t), r.$slots), (e) => ({
57
+ }, [g(v(e)(v(n), t.$slots), (e) => ({
63
58
  name: e,
64
- fn: S((t) => [g(r.$slots, e, f(l(t || {})))])
59
+ fn: C((n) => [_(t.$slots, e, p(l(n || {})))])
65
60
  }))]), 1032, ["field"]));
66
61
  }
67
62
  });