@bridge-ui/vue 0.1.1 → 0.3.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 (136) hide show
  1. package/ai/skills/bridge-ui-components/SKILL.md +4 -1
  2. package/dist/Components/Autocomplete/composables/useAutocomplete.d.ts +1 -1
  3. package/dist/Components/CalendarRange/CalendarRange.vue_vue_type_script_setup_true_lang.js +135 -109
  4. package/dist/Components/CalendarRange/calendarRange.types.d.ts +17 -5
  5. package/dist/Components/CalendarRange/composables/useCalendarRange.d.ts +4 -2
  6. package/dist/Components/CalendarRange/composables/useCalendarRange.js +85 -86
  7. package/dist/Components/ColorField/composables/useColorField.d.ts +2 -1
  8. package/dist/Components/DataTable/DataTable.js +5 -0
  9. package/dist/Components/DataTable/DataTable.vue.d.ts +43 -0
  10. package/dist/Components/DataTable/DataTable.vue_vue_type_script_setup_true_lang.js +382 -0
  11. package/dist/Components/DataTable/DataTableCellContent.js +5 -0
  12. package/dist/Components/DataTable/DataTableCellContent.vue.d.ts +23 -0
  13. package/dist/Components/DataTable/DataTableCellContent.vue_vue_type_script_setup_true_lang.js +38 -0
  14. package/dist/Components/DataTable/DataTableColumnsMenu.js +5 -0
  15. package/dist/Components/DataTable/DataTableColumnsMenu.vue.d.ts +11 -0
  16. package/dist/Components/DataTable/DataTableColumnsMenu.vue_vue_type_script_setup_true_lang.js +47 -0
  17. package/dist/Components/DataTable/DataTableFilterMenu.js +5 -0
  18. package/dist/Components/DataTable/DataTableFilterMenu.vue.d.ts +17 -0
  19. package/dist/Components/DataTable/DataTableFilterMenu.vue_vue_type_script_setup_true_lang.js +132 -0
  20. package/dist/Components/DataTable/DataTableFilterOptions.js +5 -0
  21. package/dist/Components/DataTable/DataTableFilterOptions.vue.d.ts +14 -0
  22. package/dist/Components/DataTable/DataTableFilterOptions.vue_vue_type_script_setup_true_lang.js +73 -0
  23. package/dist/Components/DataTable/DataTableSearch.js +5 -0
  24. package/dist/Components/DataTable/DataTableSearch.vue.d.ts +12 -0
  25. package/dist/Components/DataTable/DataTableSearch.vue_vue_type_script_setup_true_lang.js +39 -0
  26. package/dist/Components/DataTable/DataTableSelection.js +5 -0
  27. package/dist/Components/DataTable/DataTableSelection.vue.d.ts +20 -0
  28. package/dist/Components/DataTable/DataTableSelection.vue_vue_type_script_setup_true_lang.js +55 -0
  29. package/dist/Components/DataTable/DataTableSortButton.js +5 -0
  30. package/dist/Components/DataTable/DataTableSortButton.vue.d.ts +17 -0
  31. package/dist/Components/DataTable/DataTableSortButton.vue_vue_type_script_setup_true_lang.js +43 -0
  32. package/dist/Components/DataTable/DataTableToolbarButton.js +5 -0
  33. package/dist/Components/DataTable/DataTableToolbarButton.vue.d.ts +13 -0
  34. package/dist/Components/DataTable/DataTableToolbarButton.vue_vue_type_script_setup_true_lang.js +31 -0
  35. package/dist/Components/DataTable/composables/useDataTable.d.ts +557 -0
  36. package/dist/Components/DataTable/composables/useDataTable.js +479 -0
  37. package/dist/Components/DataTable/dataTable.types.d.ts +480 -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/composables/useDateField.d.ts +2 -1
  41. package/dist/Components/DateRangeField/composables/useDateRangeField.d.ts +2 -1
  42. package/dist/Components/DateTimeField/composables/useDateTimeField.d.ts +2 -1
  43. package/dist/Components/DateTimeRangeField/composables/useDateTimeRangeField.d.ts +2 -1
  44. package/dist/Components/DateTimeRangePicker/DateTimeRangePicker.vue_vue_type_script_setup_true_lang.js +1 -6
  45. package/dist/Components/Drawer/composables/useDrawer.js +1 -1
  46. package/dist/Components/FieldOverlay/FieldOverlay.vue_vue_type_script_setup_true_lang.js +35 -35
  47. package/dist/Components/FieldOverlay/composables/useFieldOverlay.d.ts +1 -0
  48. package/dist/Components/FieldOverlay/composables/useFieldOverlay.js +21 -19
  49. package/dist/Components/FieldOverlay/fieldOverlay.types.d.ts +11 -3
  50. package/dist/Components/FormField/composables/useFormField.d.ts +1 -1
  51. package/dist/Components/Listbox/composables/useListbox.js +1 -1
  52. package/dist/Components/Menu/Menu.vue_vue_type_script_setup_true_lang.js +1 -0
  53. package/dist/Components/Menu/composables/useMenu.d.ts +1 -1
  54. package/dist/Components/Menu/composables/useMenu.js +7 -3
  55. package/dist/Components/Menu/menu.types.d.ts +6 -0
  56. package/dist/Components/Modal/composables/useModal.js +1 -1
  57. package/dist/Components/NumberField/composables/useNumberField.d.ts +1 -1
  58. package/dist/Components/PasswordField/composables/usePasswordField.d.ts +1 -1
  59. package/dist/Components/Radio/Radio.vue_vue_type_script_setup_true_lang.js +9 -9
  60. package/dist/Components/Radio/composables/useRadio.js +57 -54
  61. package/dist/Components/Select/composables/useSelect.d.ts +1 -1
  62. package/dist/Components/Slider/composables/useSlider.d.ts +2 -2
  63. package/dist/Components/Snackbar/composables/useSnackbar.d.ts +1 -1
  64. package/dist/Components/Table/Table.js +5 -0
  65. package/dist/Components/Table/Table.vue.d.ts +16 -0
  66. package/dist/Components/Table/Table.vue_vue_type_script_setup_true_lang.js +44 -0
  67. package/dist/Components/Table/TableBody.js +5 -0
  68. package/dist/Components/Table/TableBody.vue.d.ts +11 -0
  69. package/dist/Components/Table/TableBody.vue_vue_type_script_setup_true_lang.js +17 -0
  70. package/dist/Components/Table/TableCaption.js +5 -0
  71. package/dist/Components/Table/TableCaption.vue.d.ts +11 -0
  72. package/dist/Components/Table/TableCaption.vue_vue_type_script_setup_true_lang.js +17 -0
  73. package/dist/Components/Table/TableCell.js +5 -0
  74. package/dist/Components/Table/TableCell.vue.d.ts +11 -0
  75. package/dist/Components/Table/TableCell.vue_vue_type_script_setup_true_lang.js +19 -0
  76. package/dist/Components/Table/TableFooter.js +5 -0
  77. package/dist/Components/Table/TableFooter.vue.d.ts +11 -0
  78. package/dist/Components/Table/TableFooter.vue_vue_type_script_setup_true_lang.js +17 -0
  79. package/dist/Components/Table/TableHead.js +5 -0
  80. package/dist/Components/Table/TableHead.vue.d.ts +11 -0
  81. package/dist/Components/Table/TableHead.vue_vue_type_script_setup_true_lang.js +19 -0
  82. package/dist/Components/Table/TableHeader.js +5 -0
  83. package/dist/Components/Table/TableHeader.vue.d.ts +11 -0
  84. package/dist/Components/Table/TableHeader.vue_vue_type_script_setup_true_lang.js +17 -0
  85. package/dist/Components/Table/TableRow.js +5 -0
  86. package/dist/Components/Table/TableRow.vue.d.ts +11 -0
  87. package/dist/Components/Table/TableRow.vue_vue_type_script_setup_true_lang.js +17 -0
  88. package/dist/Components/Table/composables/useTable.d.ts +16 -0
  89. package/dist/Components/Table/composables/useTable.js +88 -0
  90. package/dist/Components/Table/composables/useTableCell.d.ts +12 -0
  91. package/dist/Components/Table/composables/useTableCell.js +40 -0
  92. package/dist/Components/Table/composables/useTablePart.d.ts +12 -0
  93. package/dist/Components/Table/composables/useTablePart.js +32 -0
  94. package/dist/Components/Table/composables/useTableRow.d.ts +6 -0
  95. package/dist/Components/Table/composables/useTableRow.js +29 -0
  96. package/dist/Components/Table/index.d.ts +14 -0
  97. package/dist/Components/Table/index.js +14 -0
  98. package/dist/Components/Table/table.types.d.ts +416 -0
  99. package/dist/Components/Table/tableInjectionKey.d.ts +114 -0
  100. package/dist/Components/Table/tableInjectionKey.js +4 -0
  101. package/dist/Components/TextField/composables/useTextField.d.ts +1 -1
  102. package/dist/Components/Textarea/composables/useTextarea.d.ts +1 -1
  103. package/dist/Components/TimeField/composables/useTimeField.d.ts +2 -1
  104. package/dist/Components/TimePanel/composables/useTimePanel.d.ts +4 -0
  105. package/dist/Components/TimePanel/composables/useTimePanel.js +13 -12
  106. package/dist/Components/TimeRangeField/composables/useTimeRangeField.d.ts +2 -1
  107. package/dist/Components/TimeRangePicker/TimeRangePicker.vue_vue_type_script_setup_true_lang.js +103 -89
  108. package/dist/Components/TimeRangePicker/composables/useTimeRangePicker.d.ts +4 -2
  109. package/dist/Components/TimeRangePicker/composables/useTimeRangePicker.js +55 -54
  110. package/dist/Components/TimeRangePicker/timeRangePicker.types.d.ts +1 -7
  111. package/dist/index.js +32 -32
  112. package/dist/theme.css +2 -0
  113. package/docs/README.md +6 -0
  114. package/docs/ScrollUtilities.md +89 -0
  115. package/docs/components/Autocomplete.md +2 -0
  116. package/docs/components/CalendarDate.md +1 -1
  117. package/docs/components/CalendarRange.md +4 -3
  118. package/docs/components/DataTable.md +345 -0
  119. package/docs/components/DateField.md +2 -2
  120. package/docs/components/DatePicker.md +3 -3
  121. package/docs/components/DateRangePicker.md +4 -3
  122. package/docs/components/Drawer.md +21 -21
  123. package/docs/components/FieldOverlay.md +19 -8
  124. package/docs/components/Modal.md +19 -19
  125. package/docs/components/Pagination.md +2 -2
  126. package/docs/components/Select.md +2 -0
  127. package/docs/components/Table.md +122 -0
  128. package/docs/components/TimePanel.md +2 -0
  129. package/docs/components/TimeRangePicker.md +0 -1
  130. package/docs/examples/i18n-dictionary.ts +4 -0
  131. package/docs/examples/icon-fontawesome.ts +8 -0
  132. package/docs/examples/icon-heroicons.ts +8 -0
  133. package/docs/examples/icon-lucide.ts +8 -0
  134. package/docs/examples/icon-phosphor.ts +8 -0
  135. package/docs/examples/icon-tabler.ts +8 -0
  136. package/package.json +9 -2
@@ -115,25 +115,25 @@ const breakpoint = useBreakpoint();
115
115
 
116
116
  ## Props
117
117
 
118
- | Prop | Type | Default | Description |
119
- | --------------------- | ------------------ | --------------- | ------------------------------------------------------------------------------------------------------------------ |
120
- | `align` | `ModalAlign` | "middle-center" | Panel position on all breakpoints (`{row}-{column}` grid). Use `useBreakpoint` for a different align per viewport. |
121
- | `autoFocus` | `boolean` | `false` | When true, focuses the first focusable element inside the dialog on open. |
122
- | `blur` | `ModalBlur` | "none" | Backdrop blur on the overlay. |
123
- | `classes` | `ModalClasses` | — | The classes to apply to the modal. |
124
- | `closeOnEscape` | `boolean` | `true` | Whether the modal closes on escape key press. |
125
- | `closeOnOverlay` | `boolean` | `true` | Whether the modal closes on overlay click. |
126
- | `customProps` | `ModalCustomProps` | — | Props forwarded to each modal part. |
127
- | `disableEnforceFocus` | `boolean` | `false` | When true, focus is not trapped inside the modal while open. |
128
- | `disableRestoreFocus` | `boolean` | `false` | When true, focus is not restored to the previously focused element on close. |
129
- | `disableScrollLock` | `boolean` | `false` | When true, body scroll is not locked while the modal is open. |
130
- | `hideBackdrop` | `boolean` | `false` | When true, the backdrop overlay is not rendered. |
131
- | `keepMounted` | `boolean` | `false` | When true, the modal stays mounted in the DOM after closing (hidden). |
132
- | `persistent` | `boolean` | `false` | When true, escape and overlay clicks do not close the modal. |
133
- | `scroll` | `ModalScroll` | "body" | Where scroll happens: the page (`body`) or the dialog panel (`paper`). |
134
- | `size` | `ModalSize` | "md" | Max width of the dialog from the `sm` breakpoint up (`sm:max-w-*`). |
135
- | `teleportTo` | `string \| false` | "body" | Where to teleport the modal. Pass `false` to render in place. |
136
- | `transition` | `ModalTransition` | "fade" | Enter/leave animation for overlay and panel. |
118
+ | Prop | Type | Default | Description |
119
+ | --------------------- | ------------------ | --------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
120
+ | `align` | `ModalAlign` | "middle-center" | Panel position on all breakpoints (`{row}-{column}` grid). Use `useBreakpoint` for a different align per viewport. |
121
+ | `autoFocus` | `boolean` | `false` | When true, focuses the first focusable element inside the dialog on open. |
122
+ | `blur` | `ModalBlur` | "none" | Backdrop blur on the overlay. |
123
+ | `classes` | `ModalClasses` | — | The classes to apply to the modal. |
124
+ | `closeOnEscape` | `boolean` | `true` | Whether the modal closes on escape key press. |
125
+ | `closeOnOverlay` | `boolean` | `true` | Whether the modal closes on overlay click. |
126
+ | `customProps` | `ModalCustomProps` | — | Props forwarded to each modal part. |
127
+ | `disableEnforceFocus` | `boolean` | `false` | When true, focus is not trapped inside the modal while open. |
128
+ | `disableRestoreFocus` | `boolean` | `false` | When true, focus is not restored to the previously focused element on close. |
129
+ | `disableScrollLock` | `boolean` | `false` | When true, body scroll is not locked while the modal is open. |
130
+ | `hideBackdrop` | `boolean` | `false` | When true, the backdrop overlay is not rendered. |
131
+ | `keepMounted` | `boolean` | `false` | When true, the modal stays mounted in the DOM after closing (hidden). |
132
+ | `persistent` | `boolean` | `false` | When true, escape and overlay clicks do not close the modal. |
133
+ | `scroll` | `ModalScroll` | "body" | Where scroll happens: the page (`body`) or the dialog panel (`paper`). `paper` uses `bridge-scroll-fade-y` and `bridge-hide-scrollbar`. |
134
+ | `size` | `ModalSize` | "md" | Max width of the dialog from the `sm` breakpoint up (`sm:max-w-*`). |
135
+ | `teleportTo` | `string \| false` | "body" | Where to teleport the modal. Pass `false` to render in place. |
136
+ | `transition` | `ModalTransition` | "fade" | Enter/leave animation for overlay and panel. |
137
137
 
138
138
  ### v-model
139
139
 
@@ -55,9 +55,9 @@ For APIs that do not expose a total page count:
55
55
  <Pagination
56
56
  mode="simple"
57
57
  aria-label="Pagination"
58
- @next="fetchPage(nextCursor)"
59
58
  :has-next="Boolean(nextCursor)"
60
- @previous="fetchPage(prevCursor)"
59
+ v-on:next="fetchPage(nextCursor)"
61
60
  :has-previous="Boolean(prevCursor)"
61
+ v-on:previous="fetchPage(prevCursor)"
62
62
  />
63
63
  ```
@@ -2,6 +2,8 @@
2
2
 
3
3
  Dropdown select with single/multiple value, search, and async data.
4
4
 
5
+ The options list uses `bridge-soft-scrollbar`. See [Scroll utilities](../ScrollUtilities.md).
6
+
5
7
  ## Import
6
8
 
7
9
  ```ts
@@ -0,0 +1,122 @@
1
+ # Table
2
+
3
+ Presentational table primitives for static or lightly interactive tabular data. Compose with `TableHeader`, `TableBody`, `TableRow`, `TableHead`, and `TableCell`. Sorting, selection, and pagination live on `DataTable`.
4
+
5
+ ## Import
6
+
7
+ ```ts
8
+ import {
9
+ Table,
10
+ TableBody,
11
+ TableCaption,
12
+ TableCell,
13
+ TableFooter,
14
+ TableHead,
15
+ TableHeader,
16
+ TableRow,
17
+ } from "@bridge-ui/vue/Components/Table";
18
+ ```
19
+
20
+ ## Examples
21
+
22
+ ### Usage
23
+
24
+ ```vue
25
+ <Table>
26
+ <TableHeader>
27
+ <TableRow>
28
+ <TableHead>Name</TableHead>
29
+ <TableHead>Role</TableHead>
30
+ <TableHead>Status</TableHead>
31
+ </TableRow>
32
+ </TableHeader>
33
+ <TableBody>
34
+ <TableRow>
35
+ <TableCell>Ada Lovelace</TableCell>
36
+ <TableCell>Engineer</TableCell>
37
+ <TableCell>Active</TableCell>
38
+ </TableRow>
39
+ </TableBody>
40
+ </Table>
41
+ ```
42
+
43
+ ### Variants
44
+
45
+ Same three chrome treatments as `DataTable`. Pair with `Pagination` under the table (Table does not render pagination itself):
46
+
47
+ ```vue
48
+ <Table variant="plain" />
49
+ <Pagination :count="12" v-model="page" variant="text" />
50
+
51
+ <Table variant="ghost" />
52
+ <Pagination :count="12" v-model="page" variant="ghost" />
53
+
54
+ <Table variant="bordered" />
55
+ <Pagination :count="12" v-model="page" variant="outlined" />
56
+ ```
57
+
58
+ | Table `variant` | Pagination `variant` |
59
+ | --------------- | -------------------- |
60
+ | `plain` | `text` |
61
+ | `ghost` | `ghost` |
62
+ | `bordered` | `outlined` |
63
+
64
+ `striped` is independent of variant (same as `hoverable`):
65
+
66
+ ```vue
67
+ <Table striped variant="bordered" />
68
+ ```
69
+
70
+ ### Rounded
71
+
72
+ Corner radius on the wrapper, header, and footer. Default `lg`.
73
+
74
+ ```vue
75
+ <Table rounded="none" />
76
+ <Table rounded="xl" variant="ghost" />
77
+ ```
78
+
79
+ ### Dense + sticky header
80
+
81
+ `sticky-header` pins header cells to the nearest scrollport (usually the page). The wrapper skips overflow so the header can stick. For a boxed scroll area, set `overflow-auto` and a max height on `classes.root`.
82
+
83
+ ```vue
84
+ <Table sticky-header size="sm" />
85
+ ```
86
+
87
+ ### Numeric cells
88
+
89
+ ```vue
90
+ <Table>
91
+ <TableHeader>
92
+ <TableRow>
93
+ <TableHead>Name</TableHead>
94
+ <TableHead numeric>Score</TableHead>
95
+ </TableRow>
96
+ </TableHeader>
97
+ <TableBody>
98
+ <TableRow>
99
+ <TableCell>Ada</TableCell>
100
+ <TableCell numeric>12</TableCell>
101
+ </TableRow>
102
+ </TableBody>
103
+ </Table>
104
+ ```
105
+
106
+ ### Caption
107
+
108
+ ```vue
109
+ <Table>
110
+ <TableCaption>Team roster</TableCaption>
111
+ <TableHeader>
112
+ <TableRow>
113
+ <TableHead>Name</TableHead>
114
+ </TableRow>
115
+ </TableHeader>
116
+ <TableBody>
117
+ <TableRow>
118
+ <TableCell>Ada Lovelace</TableCell>
119
+ </TableRow>
120
+ </TableBody>
121
+ </Table>
122
+ ```
@@ -48,6 +48,8 @@ import { TimePanel } from "@bridge-ui/vue/Components/TimePanel";
48
48
 
49
49
  Time panel tokens live on `components.TimePanel` (`color`, `rounded`).
50
50
 
51
+ Columns use `bridge-scroll-fade-y` and `bridge-hide-scrollbar` by default. Add `bridge-scroll-fade-none` via `classes.column` to disable the fade. See [Scroll utilities](../ScrollUtilities.md).
52
+
51
53
  ## Events
52
54
 
53
55
  | Event | Payload | Description |
@@ -37,7 +37,6 @@ import { TimeRangePicker } from "@bridge-ui/vue/Components/TimeRangePicker";
37
37
  | `interval` | `number` | `1` | Minute step between options. |
38
38
  | `maxTime` | `Date` | — | Latest selectable time. |
39
39
  | `minTime` | `Date` | — | Earliest selectable time. |
40
- | `orientation` | `"horizontal" \| "vertical"` | `"horizontal"` | Layout of start / end time panels. |
41
40
  | `readOnly` | `boolean` | `false` | Prevents selection. |
42
41
  | `rounded` | `CalendarRounded` | `"md"` | Border radius of time tiles and chrome. |
43
42
  | `showFooter` | `boolean` | `false` | Shows Cancel / Apply. Selection is draft until Apply. |
@@ -20,6 +20,10 @@ const MESSAGES: Record<string, Record<string, string>> = {
20
20
  "en-US": {},
21
21
  "pt-BR": {
22
22
  "Close": "Fechar",
23
+ "Columns": "Colunas",
24
+ "Search": "Pesquisar",
25
+ "No data": "Sem dados",
26
+ "Per page:": "Por página:",
23
27
  "Loading...": "Carregando...",
24
28
  "No options": "Nenhuma opção",
25
29
  "Hide password": "Ocultar senha",
@@ -22,10 +22,14 @@ import {
22
22
  faCircleInfo,
23
23
  faCircleXmark,
24
24
  faClock,
25
+ faDownload,
25
26
  faEye,
26
27
  faEyeSlash,
28
+ faFilter,
29
+ faMagnifyingGlass,
27
30
  faPalette,
28
31
  faSpinner,
32
+ faTableColumns,
29
33
  faTriangleExclamation,
30
34
  faUpDown,
31
35
  faUser,
@@ -90,15 +94,19 @@ const icons = {
90
94
  clear: faXmark,
91
95
  check: faCheck,
92
96
  clock: faClock,
97
+ filter: faFilter,
93
98
  loader: faSpinner,
94
99
  info: faCircleInfo,
95
100
  eyeOff: faEyeSlash,
96
101
  palette: faPalette,
97
102
  error: faCircleXmark,
103
+ download: faDownload,
98
104
  success: faCircleCheck,
99
105
  chevronUp: faChevronUp,
106
+ columns: faTableColumns,
100
107
  chevronUpDown: faUpDown,
101
108
  calendar: faCalendarDays,
109
+ search: faMagnifyingGlass,
102
110
  alert: faCircleExclamation,
103
111
  chevronDown: faChevronDown,
104
112
  chevronLeft: faChevronLeft,
@@ -6,6 +6,7 @@
6
6
 
7
7
  // ** External Imports
8
8
  import {
9
+ ArrowDownTrayIcon,
9
10
  ArrowPathIcon,
10
11
  BellIcon,
11
12
  CalendarDaysIcon,
@@ -21,9 +22,12 @@ import {
21
22
  ExclamationTriangleIcon,
22
23
  EyeIcon,
23
24
  EyeSlashIcon,
25
+ FunnelIcon,
24
26
  InformationCircleIcon,
27
+ MagnifyingGlassIcon,
25
28
  SwatchIcon,
26
29
  UserIcon,
30
+ ViewColumnsIcon,
27
31
  XCircleIcon,
28
32
  XMarkIcon,
29
33
  } from "@heroicons/vue/24/outline";
@@ -40,12 +44,16 @@ const icons = {
40
44
  check: CheckIcon,
41
45
  clock: ClockIcon,
42
46
  error: XCircleIcon,
47
+ filter: FunnelIcon,
43
48
  palette: SwatchIcon,
44
49
  eyeOff: EyeSlashIcon,
45
50
  loader: ArrowPathIcon,
46
51
  success: CheckCircleIcon,
47
52
  chevronUp: ChevronUpIcon,
53
+ columns: ViewColumnsIcon,
48
54
  calendar: CalendarDaysIcon,
55
+ download: ArrowDownTrayIcon,
56
+ search: MagnifyingGlassIcon,
49
57
  info: InformationCircleIcon,
50
58
  alert: ExclamationCircleIcon,
51
59
  chevronDown: ChevronDownIcon,
@@ -18,11 +18,15 @@ import {
18
18
  CircleCheck,
19
19
  CircleX,
20
20
  Clock,
21
+ Columns3,
22
+ Download,
21
23
  Eye,
22
24
  EyeOff,
25
+ Filter,
23
26
  Info,
24
27
  Loader2,
25
28
  Palette,
29
+ Search,
26
30
  TriangleAlert,
27
31
  User,
28
32
  X,
@@ -42,10 +46,14 @@ const icons = {
42
46
  clock: Clock,
43
47
  error: CircleX,
44
48
  eyeOff: EyeOff,
49
+ filter: Filter,
50
+ search: Search,
45
51
  loader: Loader2,
46
52
  palette: Palette,
53
+ columns: Columns3,
47
54
  alert: CircleAlert,
48
55
  calendar: Calendar,
56
+ download: Download,
49
57
  success: CircleCheck,
50
58
  chevronUp: ChevronUp,
51
59
  warning: TriangleAlert,
@@ -16,9 +16,13 @@ import {
16
16
  PhCheck,
17
17
  PhCheckCircle,
18
18
  PhClock,
19
+ PhColumns,
20
+ PhDownloadSimple,
19
21
  PhEye,
20
22
  PhEyeSlash,
23
+ PhFunnel,
21
24
  PhInfo,
25
+ PhMagnifyingGlass,
22
26
  PhPalette,
23
27
  PhSpinnerGap,
24
28
  PhUser,
@@ -41,6 +45,8 @@ const icons = {
41
45
  check: PhCheck,
42
46
  clock: PhClock,
43
47
  error: PhXCircle,
48
+ filter: PhFunnel,
49
+ columns: PhColumns,
44
50
  eyeOff: PhEyeSlash,
45
51
  palette: PhPalette,
46
52
  warning: PhWarning,
@@ -51,6 +57,8 @@ const icons = {
51
57
  chevronDown: PhCaretDown,
52
58
  chevronLeft: PhCaretLeft,
53
59
  calendar: PhCalendarDots,
60
+ search: PhMagnifyingGlass,
61
+ download: PhDownloadSimple,
54
62
  chevronRight: PhCaretRight,
55
63
  chevronUpDown: PhCaretUpDown,
56
64
  } satisfies Record<SemanticIconName, unknown>;
@@ -18,11 +18,15 @@ import {
18
18
  IconCircleCheck,
19
19
  IconCircleX,
20
20
  IconClock,
21
+ IconColumns3,
22
+ IconDownload,
21
23
  IconEye,
22
24
  IconEyeOff,
25
+ IconFilter,
23
26
  IconInfoCircle,
24
27
  IconLoader2,
25
28
  IconPalette,
29
+ IconSearch,
26
30
  IconSelector,
27
31
  IconUser,
28
32
  IconX,
@@ -41,10 +45,14 @@ const icons = {
41
45
  clock: IconClock,
42
46
  error: IconCircleX,
43
47
  eyeOff: IconEyeOff,
48
+ filter: IconFilter,
49
+ search: IconSearch,
44
50
  loader: IconLoader2,
45
51
  info: IconInfoCircle,
46
52
  palette: IconPalette,
53
+ columns: IconColumns3,
47
54
  alert: IconAlertCircle,
55
+ download: IconDownload,
48
56
  success: IconCircleCheck,
49
57
  chevronUp: IconChevronUp,
50
58
  warning: IconAlertTriangle,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "license": "MIT",
4
- "version": "0.1.1",
4
+ "version": "0.3.0",
5
5
  "author": "BridgeUI",
6
6
  "sideEffects": false,
7
7
  "name": "@bridge-ui/vue",
@@ -80,10 +80,16 @@
80
80
  "docs"
81
81
  ],
82
82
  "peerDependencies": {
83
+ "@tanstack/vue-table": "^8.21.0",
83
84
  "vue": "^3.4.0"
84
85
  },
86
+ "peerDependenciesMeta": {
87
+ "@tanstack/vue-table": {
88
+ "optional": true
89
+ }
90
+ },
85
91
  "dependencies": {
86
- "@bridge-ui/core": "^0.1.1",
92
+ "@bridge-ui/core": "^0.3.0",
87
93
  "clsx": "^2.1.1",
88
94
  "es-toolkit": "^1.50.0",
89
95
  "tailwind-merge": "^3.6.0"
@@ -107,6 +113,7 @@
107
113
  "@tabler/icons-vue": "^3.46.0",
108
114
  "@tailwindcss/cli": "^4.3.3",
109
115
  "@tailwindcss/vite": "^4.3.3",
116
+ "@tanstack/vue-table": "^8.21.3",
110
117
  "@types/luxon": "^3.7.4",
111
118
  "@types/node": "^24.13.3",
112
119
  "@vue/language-core": "^3.3.9",