@bridge-ui/vue 0.4.0 → 0.5.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 (80) hide show
  1. package/ai/skills/bridge-ui-components/SKILL.md +3 -1
  2. package/dist/Components/Accordion/accordionInjectionKey.d.ts +1 -0
  3. package/dist/Components/Accordion/composables/useAccordion.js +3 -2
  4. package/dist/Components/AccordionItem/composables/useAccordionItem.js +1 -0
  5. package/dist/Components/DataTable/DataTable.vue.d.ts +1 -1
  6. package/dist/Components/DataTable/DataTable.vue_vue_type_script_setup_true_lang.js +96 -92
  7. package/dist/Components/DataTable/composables/useDataTable.d.ts +1 -1
  8. package/dist/Components/DataTable/composables/useDataTable.js +1 -1
  9. package/dist/Components/EmptyState/EmptyState.js +5 -0
  10. package/dist/Components/EmptyState/EmptyState.vue.d.ts +16 -0
  11. package/dist/Components/EmptyState/EmptyState.vue_vue_type_script_setup_true_lang.js +42 -0
  12. package/dist/Components/EmptyState/composables/useEmptyState.d.ts +24 -0
  13. package/dist/Components/EmptyState/composables/useEmptyState.js +76 -0
  14. package/dist/Components/EmptyState/emptyState.types.d.ts +140 -0
  15. package/dist/Components/EmptyState/index.d.ts +3 -0
  16. package/dist/Components/EmptyState/index.js +3 -0
  17. package/dist/Components/List/composables/useList.d.ts +3 -1
  18. package/dist/Components/List/composables/useList.js +2 -2
  19. package/dist/Components/ListItem/ListItem.vue_vue_type_script_setup_true_lang.js +4 -4
  20. package/dist/Components/ListSection/ListSection.vue_vue_type_script_setup_true_lang.js +4 -4
  21. package/dist/Components/ListSection/composables/useListSection.d.ts +1 -0
  22. package/dist/Components/ListSection/composables/useListSection.js +30 -28
  23. package/dist/Components/ListSection/listSectionInjectionKey.d.ts +5 -0
  24. package/dist/Components/ListSection/listSectionInjectionKey.js +4 -0
  25. package/dist/Components/Sidebar/Sidebar.js +5 -0
  26. package/dist/Components/Sidebar/Sidebar.vue.d.ts +16 -0
  27. package/dist/Components/Sidebar/Sidebar.vue_vue_type_script_setup_true_lang.js +59 -0
  28. package/dist/Components/Sidebar/SidebarInset.js +5 -0
  29. package/dist/Components/Sidebar/SidebarInset.vue.d.ts +11 -0
  30. package/dist/Components/Sidebar/SidebarInset.vue_vue_type_script_setup_true_lang.js +18 -0
  31. package/dist/Components/Sidebar/SidebarList.js +5 -0
  32. package/dist/Components/Sidebar/SidebarList.vue.d.ts +16 -0
  33. package/dist/Components/Sidebar/SidebarList.vue_vue_type_script_setup_true_lang.js +40 -0
  34. package/dist/Components/Sidebar/SidebarListItem.js +5 -0
  35. package/dist/Components/Sidebar/SidebarListItem.vue.d.ts +13 -0
  36. package/dist/Components/Sidebar/SidebarListItem.vue_vue_type_script_setup_true_lang.js +120 -0
  37. package/dist/Components/Sidebar/SidebarProvider.js +5 -0
  38. package/dist/Components/Sidebar/SidebarProvider.vue.d.ts +24 -0
  39. package/dist/Components/Sidebar/SidebarProvider.vue_vue_type_script_setup_true_lang.js +29 -0
  40. package/dist/Components/Sidebar/SidebarTrigger.js +5 -0
  41. package/dist/Components/Sidebar/SidebarTrigger.vue.d.ts +11 -0
  42. package/dist/Components/Sidebar/SidebarTrigger.vue_vue_type_script_setup_true_lang.js +35 -0
  43. package/dist/Components/Sidebar/composables/useSidebar.d.ts +6 -0
  44. package/dist/Components/Sidebar/composables/useSidebar.js +10 -0
  45. package/dist/Components/Sidebar/composables/useSidebarInset.d.ts +7 -0
  46. package/dist/Components/Sidebar/composables/useSidebarInset.js +32 -0
  47. package/dist/Components/Sidebar/composables/useSidebarList.d.ts +8 -0
  48. package/dist/Components/Sidebar/composables/useSidebarList.js +27 -0
  49. package/dist/Components/Sidebar/composables/useSidebarListItem.d.ts +15 -0
  50. package/dist/Components/Sidebar/composables/useSidebarListItem.js +44 -0
  51. package/dist/Components/Sidebar/composables/useSidebarProvider.d.ts +18 -0
  52. package/dist/Components/Sidebar/composables/useSidebarProvider.js +88 -0
  53. package/dist/Components/Sidebar/composables/useSidebarShell.d.ts +41 -0
  54. package/dist/Components/Sidebar/composables/useSidebarShell.js +116 -0
  55. package/dist/Components/Sidebar/composables/useSidebarTrigger.d.ts +10 -0
  56. package/dist/Components/Sidebar/composables/useSidebarTrigger.js +25 -0
  57. package/dist/Components/Sidebar/index.d.ts +15 -0
  58. package/dist/Components/Sidebar/index.js +15 -0
  59. package/dist/Components/Sidebar/sidebar.types.d.ts +244 -0
  60. package/dist/Components/Sidebar/sidebarInjectionKey.d.ts +80 -0
  61. package/dist/Components/Sidebar/sidebarInjectionKey.js +4 -0
  62. package/dist/Components/Sidebar/sidebarListInjectionKey.d.ts +5 -0
  63. package/dist/Components/Sidebar/sidebarListInjectionKey.js +4 -0
  64. package/dist/Components/Slider/Slider.vue_vue_type_script_setup_true_lang.js +5 -5
  65. package/dist/augments.d.ts +10 -0
  66. package/dist/index.d.ts +4 -0
  67. package/dist/index.js +79 -64
  68. package/docs/README.md +2 -0
  69. package/docs/ScrollUtilities.md +1 -1
  70. package/docs/components/DataTable.md +1 -1
  71. package/docs/components/Drawer.md +1 -1
  72. package/docs/components/EmptyState.md +125 -0
  73. package/docs/components/List.md +1 -1
  74. package/docs/components/Sidebar.md +281 -0
  75. package/docs/examples/icon-fontawesome.ts +1 -0
  76. package/docs/examples/icon-heroicons.ts +2 -0
  77. package/docs/examples/icon-lucide.ts +2 -0
  78. package/docs/examples/icon-phosphor.ts +2 -0
  79. package/docs/examples/icon-tabler.ts +2 -0
  80. package/package.json +2 -2
@@ -2,7 +2,7 @@
2
2
  name: bridge-ui-components
3
3
  description: >-
4
4
  Use Bridge UI Vue components — Button, Avatar, Card, Alert, Accordion, Badge, Icon,
5
- Link, List, Table, DataTable, Tabs, Spinner, Skeleton, Progress, Stepper, Pagination, TextField, Select,
5
+ Link, List, Table, DataTable, Tabs, Spinner, Skeleton, EmptyState, Sidebar, Progress, Stepper, Pagination, TextField, Select,
6
6
  Autocomplete, DateField, DatePicker, DateRangeField, DateRangePicker,
7
7
  TimeField, TimePicker, DateTimeField, DateTimePicker, ColorField, ColorPicker,
8
8
  classes, customProps, slots. Use when building UI with Bridge components.
@@ -32,6 +32,7 @@ In templates, use kebab-case attrs (`start-icon`, `custom-props`, `error-message
32
32
  | Tabs | `.ai/docs/components/Tabs.md` |
33
33
  | Text input | `.ai/docs/components/TextField.md` |
34
34
  | Select / autocomplete | `.ai/docs/components/Select.md`, `Autocomplete.md` |
35
+ | Sidebar / app shell | `.ai/docs/components/Sidebar.md` |
35
36
  | Date | `.ai/docs/components/DateField.md`, `DatePicker.md` |
36
37
  | Date range | `.ai/docs/components/DateRangeField.md`, `DateRangePicker.md` |
37
38
  | Time | `.ai/docs/components/TimeField.md`, `TimePicker.md` |
@@ -40,6 +41,7 @@ In templates, use kebab-case attrs (`start-icon`, `custom-props`, `error-message
40
41
  | Date-time range | `.ai/docs/components/DateTimeRangeField.md`, `DateTimeRangePicker.md` |
41
42
  | Color | `.ai/docs/components/ColorField.md`, `ColorPicker.md` |
42
43
  | Spinner / skeleton / progress | `.ai/docs/components/Spinner.md`, `Skeleton.md`, `Progress.md` |
44
+ | Empty / no data | `.ai/docs/components/EmptyState.md` |
43
45
  | Scroll fade / scrollbar | `.ai/docs/ScrollUtilities.md` |
44
46
  | Index | `.ai/docs/README.md` |
45
47
 
@@ -10,6 +10,7 @@ export type AccordionTokenClasses = {
10
10
  itemSize?: string;
11
11
  itemVariant?: string;
12
12
  panelSize?: string;
13
+ panelVariant?: string;
13
14
  rootSize?: string;
14
15
  rootVariant?: string;
15
16
  triggerSize?: string;
@@ -61,9 +61,10 @@ function b(b, x, S, C) {
61
61
  triggerSize: l(V.value, "trigger"),
62
62
  rootVariant: l(H.value, "root"),
63
63
  itemVariant: l(H.value, "item"),
64
+ panelVariant: l(H.value, "panel"),
64
65
  triggerVariant: l(H.value, "trigger"),
65
- colorIndicator: l(U.value, "indicator"),
66
- colorTriggerExpanded: l(U.value, "triggerExpanded")
66
+ colorIndicator: A.value.variant === "plain" ? void 0 : l(U.value, "indicator"),
67
+ colorTriggerExpanded: A.value.variant === "plain" ? void 0 : l(U.value, "triggerExpanded")
67
68
  }
68
69
  }));
69
70
  return a(e, W), {
@@ -111,6 +111,7 @@ function y(y) {
111
111
  "aria-labelledby": p(C.value.id, D.value),
112
112
  class: g({
113
113
  [C.value.tokenClasses.panelSize ?? ""]: !0,
114
+ [C.value.tokenClasses.panelVariant ?? ""]: !0,
114
115
  [d(N.value, "panel") ?? ""]: !0
115
116
  })
116
117
  })),
@@ -2,7 +2,7 @@ import { VNodeChild } from 'vue';
2
2
  import { DataTableColumnSearch, DataTableFilters } from '@bridge-ui/core/Domain';
3
3
  import { DataTableItemSlotProps, DataTableOwnProps, DataTableSlots, DataTableSorting } from './dataTable.types';
4
4
  declare const __VLS_export: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
5
- props: import('vue').PublicProps & __VLS_PrettifyLocal<(Omit<DataTableOwnProps<T>, "search" | "page" | "filters" | "columnSearch" | "expanded" | "hiddenColumns" | "perPage" | "selection" | "sorting"> & {
5
+ props: import('vue').PublicProps & __VLS_PrettifyLocal<(Omit<DataTableOwnProps<T>, "search" | "page" | "filters" | "expanded" | "columnSearch" | "hiddenColumns" | "perPage" | "selection" | "sorting"> & {
6
6
  page?: number;
7
7
  perPage?: number;
8
8
  search?: string;
@@ -2,29 +2,30 @@ import { useResolveMessage as e } from "../../Adapters/I18n/useI18nAdapter.js";
2
2
  import { hasNamedSlot as t } from "../../Utils/slotOrProp.js";
3
3
  import n from "../Icon/Icon.js";
4
4
  import ee from "../Progress/Progress.js";
5
- import te from "../Pagination/Pagination.js";
6
- import ne from "../Select/Select.js";
5
+ import te from "../EmptyState/EmptyState.js";
6
+ import ne from "../Pagination/Pagination.js";
7
+ import re from "../Select/Select.js";
7
8
  import { useDataTable as r } from "./composables/useDataTable.js";
8
- import re from "./DataTableCellContent.js";
9
- import ie from "./DataTableColumnsMenu.js";
10
- import ae from "./DataTableFilterMenu.js";
11
- import oe from "./DataTableSearch.js";
9
+ import ie from "./DataTableCellContent.js";
10
+ import ae from "./DataTableColumnsMenu.js";
11
+ import oe from "./DataTableFilterMenu.js";
12
+ import se from "./DataTableSearch.js";
12
13
  import i from "./DataTableSelection.js";
13
- import se from "./DataTableSortButton.js";
14
- import ce from "../Table/Table.js";
15
- import le from "../Table/TableBody.js";
14
+ import ce from "./DataTableSortButton.js";
15
+ import le from "../Table/Table.js";
16
+ import ue from "../Table/TableBody.js";
16
17
  import a from "../Table/TableCell.js";
17
- import ue from "../Table/TableFooter.js";
18
- import de from "../Table/TableHead.js";
19
- import fe from "../Table/TableHeader.js";
18
+ import de from "../Table/TableFooter.js";
19
+ import fe from "../Table/TableHead.js";
20
+ import pe from "../Table/TableHeader.js";
20
21
  import o from "../Table/TableRow.js";
21
- import { Fragment as s, computed as c, createBlock as l, createCommentVNode as u, createElementBlock as d, createElementVNode as f, createTextVNode as pe, createVNode as p, defineComponent as m, guardReactiveProps as h, mergeModels as g, mergeProps as _, normalizeClass as v, normalizeProps as y, openBlock as b, renderList as x, renderSlot as S, toDisplayString as C, unref as w, useId as me, useModel as T, useSlots as he, withCtx as E } from "vue";
22
- import { cn as D } from "@bridge-ui/core/Utils";
22
+ import { Fragment as s, computed as c, createBlock as l, createCommentVNode as u, createElementBlock as d, createElementVNode as f, createVNode as p, defineComponent as m, guardReactiveProps as h, mergeModels as g, mergeProps as _, normalizeClass as v, normalizeProps as y, openBlock as b, renderList as x, renderSlot as S, toDisplayString as me, unref as C, useId as he, useModel as w, useSlots as ge, withCtx as T } from "vue";
23
+ import { cn as E } from "@bridge-ui/core/Utils";
23
24
  //#region src/Components/DataTable/DataTable.vue?vue&type=script&setup=true&lang.ts
24
- var ge = { class: "min-w-0 flex-1" }, _e = { class: "flex shrink-0 items-center gap-2" }, ve = {
25
+ var _e = { class: "min-w-0 flex-1" }, ve = { class: "flex shrink-0 items-center gap-2" }, ye = {
25
26
  key: 0,
26
27
  class: "inline-flex items-center rounded-lg border border-dark-200 bg-white p-0.5 dark:border-dark-700 dark:bg-dark-900"
27
- }, ye = { class: "relative" }, be = {
28
+ }, be = { class: "relative" }, D = {
28
29
  key: 1,
29
30
  class: "flex w-full min-w-0 items-center gap-1.5 leading-none"
30
31
  }, O = ["aria-expanded", "onClick"], k = ["aria-hidden"], A = { class: "min-h-0 overflow-hidden" }, j = { class: "p-3" }, M = ["aria-hidden"], N = { class: "flex shrink-0 items-center gap-2" }, xe = { class: "text-sm whitespace-nowrap text-dark-500 dark:text-dark-400" }, P = /*@__PURE__*/ m({
@@ -102,7 +103,7 @@ var ge = { class: "min-w-0 flex-1" }, _e = { class: "flex shrink-0 items-center
102
103
  "update:columnSearch"
103
104
  ],
104
105
  setup(m) {
105
- let g = m, P = he(), F = e(), I = T(m, "page"), Se = T(m, "perPage"), L = T(m, "search"), Ce = T(m, "expanded"), we = T(m, "selection"), Te = T(m, "filters"), Ee = T(m, "sorting"), De = T(m, "hiddenColumns"), Oe = T(m, "columnSearch"), { merged: R, rowViews: ke, rootBind: Ae, emptyBind: je, showEmpty: z, frameBind: Me, tableProps: Ne, footerBind: Pe, loadingBar: B, showSearch: V, getHeadBind: Fe, headerViews: Ie, loadingBind: Le, onToggleRow: Re, toolbarBind: ze, getCellBind: H, columnCount: U, showPerPage: Be, showToolbar: Ve, getHeadAlign: He, getCellAlign: W, onTogglePage: Ue, summaryCells: G, expandEnabled: We, loadingBarBind: Ge, paginationBind: Ke, selectAllState: K, showPagination: qe, onChangeSearch: Je, onToggleExpand: Ye, visibilityItems: Xe, perPageSlotProps: q, resolvedPageCount: J, selectionMultiple: Y, visibilityEnabled: Ze, paginationSlotProps: X, onCommitColumnFilter: Qe, onHiddenColumnsChange: $e } = r(g, {
106
+ let g = m, P = ge(), F = e(), I = w(m, "page"), Se = w(m, "perPage"), L = w(m, "search"), Ce = w(m, "expanded"), we = w(m, "selection"), Te = w(m, "filters"), Ee = w(m, "sorting"), De = w(m, "hiddenColumns"), Oe = w(m, "columnSearch"), { merged: R, rowViews: ke, rootBind: Ae, emptyBind: je, showEmpty: z, frameBind: Me, tableProps: Ne, footerBind: Pe, loadingBar: B, showSearch: V, getHeadBind: Fe, headerViews: Ie, loadingBind: Le, onToggleRow: Re, toolbarBind: ze, getCellBind: H, columnCount: U, showPerPage: Be, showToolbar: Ve, getHeadAlign: He, getCellAlign: W, onTogglePage: Ue, summaryCells: G, expandEnabled: We, loadingBarBind: Ge, paginationBind: Ke, selectAllState: K, showPagination: qe, onChangeSearch: Je, onToggleExpand: Ye, visibilityItems: Xe, perPageSlotProps: q, resolvedPageCount: J, selectionMultiple: Y, visibilityEnabled: Ze, paginationSlotProps: X, onCommitColumnFilter: Qe, onHiddenColumnsChange: $e } = r(g, {
106
107
  size: "md",
107
108
  full: !0,
108
109
  rounded: "lg",
@@ -158,13 +159,13 @@ var ge = { class: "min-w-0 flex-1" }, _e = { class: "flex shrink-0 items-center
158
159
  }
159
160
  }
160
161
  };
161
- }), rt = me(), $ = (e) => e.node ?? null;
162
- return (e, r) => (b(), d("div", y(h(w(Ae))), [w(Ve) ? (b(), d("div", y(_({ key: 0 }, w(ze))), [f("div", ge, [S(e.$slots, "toolbar")]), f("div", _e, [
163
- w(Ze) ? (b(), d("div", ve, [p(ie, {
164
- items: w(Xe),
165
- overlay: w(R).columnsOverlay,
166
- onChange: w($e),
167
- "show-footer": w(R).columnsShowFooter
162
+ }), rt = he(), $ = (e) => e.node ?? null;
163
+ return (e, r) => (b(), d("div", y(h(C(Ae))), [C(Ve) ? (b(), d("div", y(_({ key: 0 }, C(ze))), [f("div", _e, [S(e.$slots, "toolbar")]), f("div", ve, [
164
+ C(Ze) ? (b(), d("div", ye, [p(ae, {
165
+ items: C(Xe),
166
+ overlay: C(R).columnsOverlay,
167
+ onChange: C($e),
168
+ "show-footer": C(R).columnsShowFooter
168
169
  }, null, 8, [
169
170
  "items",
170
171
  "overlay",
@@ -172,58 +173,58 @@ var ge = { class: "min-w-0 flex-1" }, _e = { class: "flex shrink-0 items-center
172
173
  "show-footer"
173
174
  ])])) : u("", !0),
174
175
  S(e.$slots, "toolbarActions"),
175
- w(V) ? S(e.$slots, "search", {}, () => [p(oe, {
176
+ C(V) ? S(e.$slots, "search", {}, () => [p(se, {
176
177
  "model-value": L.value ?? "",
177
- "onUpdate:modelValue": w(Je),
178
- "field-props": w(R).customProps?.search
178
+ "onUpdate:modelValue": C(Je),
179
+ "field-props": C(R).customProps?.search
179
180
  }, null, 8, [
180
181
  "model-value",
181
182
  "onUpdate:modelValue",
182
183
  "field-props"
183
184
  ])], void 0, 1) : u("", !0)
184
- ])], 16)) : u("", !0), f("div", y(h(w(Me))), [
185
- f("div", ye, [p(w(ce), y(h(w(Ne))), {
186
- default: E(() => [
187
- p(w(fe), y(h(w(R).customProps?.header)), {
188
- default: E(() => [p(w(o), y(h(w(R).customProps?.row)), {
189
- default: E(() => [(b(!0), d(s, null, x(w(Ie), (e) => (b(), l(w(de), _({
185
+ ])], 16)) : u("", !0), f("div", y(h(C(Me))), [
186
+ f("div", be, [p(C(le), y(h(C(Ne))), {
187
+ default: T(() => [
188
+ p(C(pe), y(h(C(R).customProps?.header)), {
189
+ default: T(() => [p(C(o), y(h(C(R).customProps?.row)), {
190
+ default: T(() => [(b(!0), d(s, null, x(C(Ie), (e) => (b(), l(C(fe), _({
190
191
  key: e.id,
191
- align: w(He)(e)
192
- }, { ref_for: !0 }, w(Fe)(e)), {
193
- default: E(() => [e.isSelection && w(Y) ? (b(), l(i, {
192
+ align: C(He)(e)
193
+ }, { ref_for: !0 }, C(Fe)(e)), {
194
+ default: T(() => [e.isSelection && C(Y) ? (b(), l(i, {
194
195
  key: 0,
195
196
  kind: "page",
196
197
  size: Z.value,
197
- onChange: w(Ue),
198
- checked: w(K).checked,
199
- indeterminate: w(K).indeterminate,
200
- "checkbox-props": w(R).customProps?.checkbox
198
+ onChange: C(Ue),
199
+ checked: C(K).checked,
200
+ indeterminate: C(K).indeterminate,
201
+ "checkbox-props": C(R).customProps?.checkbox
201
202
  }, null, 8, [
202
203
  "size",
203
204
  "onChange",
204
205
  "checked",
205
206
  "indeterminate",
206
207
  "checkbox-props"
207
- ])) : !e.isSelection && !e.isExpand ? (b(), d("div", be, [e.sortable ? (b(), l(se, {
208
+ ])) : !e.isSelection && !e.isExpand ? (b(), d("div", D, [e.sortable ? (b(), l(ce, {
208
209
  key: 0,
209
210
  sort: e.ariaSort
210
211
  }, {
211
- default: E(() => [p($, { node: e.header }, null, 8, ["node"])]),
212
+ default: T(() => [p($, { node: e.header }, null, 8, ["node"])]),
212
213
  _: 2
213
214
  }, 1032, ["sort"])) : (b(), l($, {
214
215
  key: 1,
215
216
  node: e.header
216
- }, null, 8, ["node"])), e.filterable ? (b(), l(ae, {
217
+ }, null, 8, ["node"])), e.filterable ? (b(), l(oe, {
217
218
  key: 2,
218
219
  "column-id": e.id,
219
220
  active: e.filterActive,
220
221
  values: e.filterValues,
221
- overlay: w(R).filterOverlay,
222
+ overlay: C(R).filterOverlay,
222
223
  options: e.filterOptions,
223
224
  searchable: e.searchable,
224
225
  multiple: e.filterMultiple,
225
226
  "search-value": e.searchQuery,
226
- onApply: (t, n) => w(Qe)(e.id, t, n)
227
+ onApply: (t, n) => C(Qe)(e.id, t, n)
227
228
  }, null, 8, [
228
229
  "column-id",
229
230
  "active",
@@ -238,50 +239,53 @@ var ge = { class: "min-w-0 flex-1" }, _e = { class: "flex shrink-0 items-center
238
239
  _: 2
239
240
  }, 1040, ["align"]))), 128))]),
240
241
  _: 1
241
- }, 16), w(R).loading && w(B) ? (b(), l(w(o), {
242
+ }, 16), C(R).loading && C(B) ? (b(), l(C(o), {
242
243
  key: 0,
243
244
  classes: { root: "h-0" }
244
245
  }, {
245
- default: E(() => [p(w(a), {
246
- colspan: w(U),
246
+ default: T(() => [p(C(a), {
247
+ colspan: C(U),
247
248
  classes: { root: "relative h-0 border-0 p-0 after:hidden" }
248
249
  }, {
249
- default: E(() => [f("div", y(h(w(Ge))), [S(e.$slots, "loading", {}, () => [p(w(ee), _({
250
+ default: T(() => [f("div", y(h(C(Ge))), [S(e.$slots, "loading", {}, () => [p(C(ee), _({
250
251
  size: "xs",
251
252
  rounded: "none"
252
- }, w(R).customProps?.progress), null, 16)])], 16)]),
253
+ }, C(R).customProps?.progress), null, 16)])], 16)]),
253
254
  _: 3
254
255
  }, 8, ["colspan"])]),
255
256
  _: 3
256
257
  })) : u("", !0)]),
257
258
  _: 3
258
259
  }, 16),
259
- p(w(le), y(h(w(R).customProps?.body)), {
260
- default: E(() => [w(z) ? (b(), l(w(o), { key: 0 }, {
261
- default: E(() => [p(w(a), {
260
+ p(C(ue), y(h(C(R).customProps?.body)), {
261
+ default: T(() => [C(z) ? (b(), l(C(o), { key: 0 }, {
262
+ default: T(() => [p(C(a), {
262
263
  align: "center",
263
- colspan: w(U)
264
+ colspan: C(U)
264
265
  }, {
265
- default: E(() => [f("div", y(h(w(je))), [S(e.$slots, "empty", {}, () => [r[2] ||= f("span", { class: "relative mb-1 block h-10 w-12 rounded-md border-2 border-dark-300 dark:border-dark-600" }, [f("span", { class: "absolute -top-1.5 left-2 right-2 h-2 rounded-sm border-2 border-dark-300 bg-white dark:border-dark-600 dark:bg-dark-900" })], -1), pe(" " + C(w(F)("No data")), 1)])], 16)]),
266
+ default: T(() => [f("div", y(h(C(je))), [S(e.$slots, "empty", {}, () => [p(C(te), {
267
+ size: C(R).size,
268
+ title: C(F)("No data")
269
+ }, null, 8, ["size", "title"])])], 16)]),
266
270
  _: 3
267
271
  }, 8, ["colspan"])]),
268
272
  _: 3
269
- })) : u("", !0), w(z) ? u("", !0) : (b(!0), d(s, { key: 1 }, x(w(ke), (t) => (b(), d(s, { key: t.id }, [p(w(o), _({ ref_for: !0 }, w(R).customProps?.row), {
270
- default: E(() => [(b(!0), d(s, null, x(t.cells, (e) => (b(), l(w(a), _({
273
+ })) : u("", !0), C(z) ? u("", !0) : (b(!0), d(s, { key: 1 }, x(C(ke), (t) => (b(), d(s, { key: t.id }, [p(C(o), _({ ref_for: !0 }, C(R).customProps?.row), {
274
+ default: T(() => [(b(!0), d(s, null, x(t.cells, (e) => (b(), l(C(a), _({
271
275
  key: e.id,
272
- align: w(W)(e)
273
- }, { ref_for: !0 }, w(H)(e)), {
274
- default: E(() => [e.isSelection ? (b(), l(i, {
276
+ align: C(W)(e)
277
+ }, { ref_for: !0 }, C(H)(e)), {
278
+ default: T(() => [e.isSelection ? (b(), l(i, {
275
279
  key: 0,
276
280
  kind: "row",
277
281
  value: t.id,
278
282
  size: Z.value,
279
- name: w(rt),
283
+ name: C(rt),
280
284
  checked: t.selected,
281
- multiple: w(Y),
282
- "radio-props": w(R).customProps?.radio,
283
- "checkbox-props": w(R).customProps?.checkbox,
284
- onChange: (e) => w(Re)(t.id, e)
285
+ multiple: C(Y),
286
+ "radio-props": C(R).customProps?.radio,
287
+ "checkbox-props": C(R).customProps?.checkbox,
288
+ onChange: (e) => C(Re)(t.id, e)
285
289
  }, null, 8, [
286
290
  "value",
287
291
  "size",
@@ -296,33 +300,33 @@ var ge = { class: "min-w-0 flex-1" }, _e = { class: "flex shrink-0 items-center
296
300
  type: "button",
297
301
  "aria-label": "Expand row",
298
302
  "aria-expanded": t.expanded,
299
- onClick: (e) => w(Ye)(t.id, !t.expanded),
303
+ onClick: (e) => C(Ye)(t.id, !t.expanded),
300
304
  class: "inline-flex size-6 shrink-0 cursor-pointer items-center justify-center rounded-sm leading-none hover:bg-dark-500/10 dark:hover:bg-dark-500/15"
301
- }, [f("span", { class: v([{ "rotate-90": t.expanded }, "inline-flex transition-transform duration-200 motion-reduce:transition-none"]) }, [p(w(n), {
305
+ }, [f("span", { class: v([{ "rotate-90": t.expanded }, "inline-flex transition-transform duration-200 motion-reduce:transition-none"]) }, [p(C(n), {
302
306
  size: "sm",
303
307
  icon: "chevronRight"
304
- })], 2)], 8, O)) : (b(), l(re, {
308
+ })], 2)], 8, O)) : (b(), l(ie, {
305
309
  key: 2,
306
310
  tooltip: e.tooltip,
307
311
  ellipsis: e.ellipsis
308
312
  }, {
309
- default: E(() => [p($, { node: et(t, e) }, null, 8, ["node"])]),
313
+ default: T(() => [p($, { node: et(t, e) }, null, 8, ["node"])]),
310
314
  _: 2
311
315
  }, 1032, ["tooltip", "ellipsis"]))]),
312
316
  _: 2
313
317
  }, 1040, ["align"]))), 128))]),
314
318
  _: 2
315
- }, 1040), w(We) ? (b(), l(w(o), { key: 0 }, {
316
- default: E(() => [p(w(a), {
317
- colspan: w(U),
318
- classes: { root: w(D)({
319
+ }, 1040), C(We) ? (b(), l(C(o), { key: 0 }, {
320
+ default: T(() => [p(C(a), {
321
+ colspan: C(U),
322
+ classes: { root: C(E)({
319
323
  "p-0": !0,
320
324
  "border-0": !t.expanded
321
325
  }) }
322
326
  }, {
323
- default: E(() => [f("div", {
327
+ default: T(() => [f("div", {
324
328
  "aria-hidden": !t.expanded,
325
- class: v(w(D)({
329
+ class: v(C(E)({
326
330
  "grid transition-[grid-template-rows] duration-200 ease-out motion-reduce:transition-none": !0,
327
331
  "grid-rows-[1fr]": t.expanded,
328
332
  "grid-rows-[0fr]": !t.expanded
@@ -334,13 +338,13 @@ var ge = { class: "min-w-0 flex-1" }, _e = { class: "flex shrink-0 items-center
334
338
  }, 1024)) : u("", !0)], 64))), 128))]),
335
339
  _: 3
336
340
  }, 16),
337
- w(G) ? (b(), l(w(ue), { key: 0 }, {
338
- default: E(() => [p(w(o), y(h(w(R).customProps?.row)), {
339
- default: E(() => [(b(!0), d(s, null, x(w(G), (e) => (b(), l(w(a), _({
341
+ C(G) ? (b(), l(C(de), { key: 0 }, {
342
+ default: T(() => [p(C(o), y(h(C(R).customProps?.row)), {
343
+ default: T(() => [(b(!0), d(s, null, x(C(G), (e) => (b(), l(C(a), _({
340
344
  key: e.id,
341
- align: w(W)(e)
342
- }, { ref_for: !0 }, w(H)(e)), {
343
- default: E(() => [p($, { node: e.content }, null, 8, ["node"])]),
345
+ align: C(W)(e)
346
+ }, { ref_for: !0 }, C(H)(e)), {
347
+ default: T(() => [p($, { node: e.content }, null, 8, ["node"])]),
344
348
  _: 2
345
349
  }, 1040, ["align"]))), 128))]),
346
350
  _: 1
@@ -349,7 +353,7 @@ var ge = { class: "min-w-0 flex-1" }, _e = { class: "flex shrink-0 items-center
349
353
  })) : u("", !0)
350
354
  ]),
351
355
  _: 3
352
- }, 16), w(R).loading ? (b(), d("div", _({ key: 0 }, w(Le), { "aria-hidden": w(B) || void 0 }), [w(B) ? u("", !0) : S(e.$slots, "loading", {}, () => [r[3] ||= f("span", {
356
+ }, 16), C(R).loading ? (b(), d("div", _({ key: 0 }, C(Le), { "aria-hidden": C(B) || void 0 }), [C(B) ? u("", !0) : S(e.$slots, "loading", {}, () => [r[2] ||= f("span", {
353
357
  role: "status",
354
358
  "aria-label": "Loading",
355
359
  class: "relative inline-block size-5 animate-spin motion-reduce:animate-none"
@@ -359,32 +363,32 @@ var ge = { class: "min-w-0 flex-1" }, _e = { class: "flex shrink-0 items-center
359
363
  f("span", { class: "absolute inset-e-0 bottom-0 size-2 rounded-full bg-primary-500 dark:bg-primary-400" }),
360
364
  f("span", { class: "absolute inset-s-0 bottom-0 size-2 rounded-full bg-primary-500 opacity-70 dark:bg-primary-400" })
361
365
  ], -1)], void 0, 0)], 16, M)) : u("", !0)]),
362
- w(t)(w(P), "footer") ? (b(), d("div", y(_({ key: 0 }, w(Pe))), [S(e.$slots, "footer")], 16)) : u("", !0),
363
- w(qe) ? (b(), d("div", y(_({ key: 1 }, w(Ke))), [w(Be) ? S(e.$slots, "perPage", y(h(w(q))), () => [f("div", N, [f("span", xe, C(w(F)("Per page:")), 1), p(w(ne), _({ size: "sm" }, w(R).customProps?.perPage, {
366
+ C(t)(C(P), "footer") ? (b(), d("div", y(_({ key: 0 }, C(Pe))), [S(e.$slots, "footer")], 16)) : u("", !0),
367
+ C(qe) ? (b(), d("div", y(_({ key: 1 }, C(Ke))), [C(Be) ? S(e.$slots, "perPage", y(h(C(q))), () => [f("div", N, [f("span", xe, me(C(F)("Per page:")), 1), p(C(re), _({ size: "sm" }, C(R).customProps?.perPage, {
364
368
  overlay: "menu",
365
369
  clearable: !1,
366
370
  "hide-error-message": "",
367
371
  "aria-label": "Per page",
368
372
  options: tt.value,
369
373
  "custom-props": nt.value,
370
- "model-value": w(q).perPage,
371
- "onUpdate:modelValue": r[0] ||= (e) => w(q).onPerPageChange(Number(e)),
374
+ "model-value": C(q).perPage,
375
+ "onUpdate:modelValue": r[0] ||= (e) => C(q).onPerPageChange(Number(e)),
372
376
  classes: {
373
- ...w(R).customProps?.perPage?.classes,
374
- root: w(D)("w-20", w(R).customProps?.perPage?.classes?.root)
377
+ ...C(R).customProps?.perPage?.classes,
378
+ root: C(E)("w-20", C(R).customProps?.perPage?.classes?.root)
375
379
  }
376
380
  }), null, 16, [
377
381
  "options",
378
382
  "custom-props",
379
383
  "model-value",
380
384
  "classes"
381
- ])])], void 0, 0) : u("", !0), S(e.$slots, "pagination", y(h(w(X))), () => [w(J) === void 0 ? u("", !0) : (b(), l(w(te), _({
385
+ ])])], void 0, 0) : u("", !0), S(e.$slots, "pagination", y(h(C(X))), () => [C(J) === void 0 ? u("", !0) : (b(), l(C(ne), _({
382
386
  key: 0,
383
387
  modelValue: Q.value,
384
388
  "onUpdate:modelValue": r[1] ||= (e) => Q.value = e,
385
- count: w(J),
386
- variant: w(X).variant
387
- }, w(R).customProps?.pagination), null, 16, [
389
+ count: C(J),
390
+ variant: C(X).variant
391
+ }, C(R).customProps?.pagination), null, 16, [
388
392
  "modelValue",
389
393
  "count",
390
394
  "variant"
@@ -73,7 +73,7 @@ export declare function useDataTable<T>(props: DataTableOwnProps<T>, libDefaults
73
73
  rowViews: import('vue').ComputedRef<DataTableRowView<T>[]>;
74
74
  rootBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<{
75
75
  class: string;
76
- }, "class", import('vue').HTMLAttributes | undefined, Partial<Omit<DataTableProps<T>, "search" | "columns" | "size" | "classes" | "customProps" | "full" | "rounded" | "variant" | "page" | "loading" | "rows" | "filters" | "hoverable" | "stickyHeader" | "striped" | "columnSearch" | "columnsOverlay" | "columnsShowFooter" | "expanded" | "filterOverlay" | "getRowId" | "hiddenColumns" | "loadingVariant" | "pageCount" | "perPage" | "perPageOptions" | "selection" | "selectionMode" | "sorting" | "totalCount">>>>;
76
+ }, "class", import('vue').HTMLAttributes | undefined, Partial<Omit<DataTableProps<T>, "search" | "columns" | "size" | "classes" | "customProps" | "full" | "rounded" | "variant" | "page" | "loading" | "rows" | "filters" | "expanded" | "hoverable" | "stickyHeader" | "striped" | "columnSearch" | "columnsOverlay" | "columnsShowFooter" | "filterOverlay" | "getRowId" | "hiddenColumns" | "loadingVariant" | "pageCount" | "perPage" | "perPageOptions" | "selection" | "selectionMode" | "sorting" | "totalCount">>>>;
77
77
  emptyBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<{
78
78
  class: string;
79
79
  }, "class", import('vue').HTMLAttributes | undefined, {}>>;
@@ -366,7 +366,7 @@ function y(h, g, _) {
366
366
  "flex items-center justify-between gap-3 pb-3": !0,
367
367
  [s(w.value, "toolbar") ?? ""]: !0
368
368
  }) })), Bt = r(() => e(C.value?.empty, {}, { class: m({
369
- "flex flex-col items-center justify-center gap-2 py-12 text-sm text-dark-400 dark:text-dark-500": !0,
369
+ "w-full": !0,
370
370
  [s(w.value, "empty") ?? ""]: !0
371
371
  }) })), Vt = r(() => e(C.value?.loading, {}, { class: m({
372
372
  "absolute inset-0 z-30 bg-white/50 dark:bg-dark-900/50": !0,
@@ -0,0 +1,5 @@
1
+ import e from "./EmptyState.vue_vue_type_script_setup_true_lang.js";
2
+ //#region src/Components/EmptyState/EmptyState.vue
3
+ var t = e;
4
+ //#endregion
5
+ export { t as default };
@@ -0,0 +1,16 @@
1
+ import { EmptyStateOwnProps, EmptyStateSlots } from './emptyState.types';
2
+ type __VLS_Slots = EmptyStateSlots;
3
+ declare const __VLS_base: import('vue').DefineComponent<EmptyStateOwnProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<EmptyStateOwnProps> & Readonly<{}>, {
4
+ size: import('@bridge-ui/core/Utils').MergeProps<import('@bridge-ui/core/Tokens').EmptyStateSize, import('./emptyState.types').EmptyStateSizeOverrides>;
5
+ align: import('@bridge-ui/core/Utils').MergeProps<import('@bridge-ui/core/Tokens').EmptyStateAlign, import('./emptyState.types').EmptyStateAlignOverrides>;
6
+ mediaDecorative: boolean;
7
+ titleAs: "p" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "div";
8
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
9
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
10
+ declare const _default: typeof __VLS_export;
11
+ export default _default;
12
+ type __VLS_WithSlots<T, S> = T & {
13
+ new (): {
14
+ $slots: S;
15
+ };
16
+ };
@@ -0,0 +1,42 @@
1
+ import { hasNamedSlot as e, hasSlotOrProp as t, isPropPresent as n } from "../../Utils/slotOrProp.js";
2
+ import r from "../Icon/Icon.js";
3
+ import { useEmptyState as i } from "./composables/useEmptyState.js";
4
+ import { Fragment as a, computed as o, createBlock as s, createCommentVNode as c, createElementBlock as l, createTextVNode as u, defineComponent as d, guardReactiveProps as f, mergeProps as p, normalizeProps as m, openBlock as h, renderSlot as g, resolveDynamicComponent as _, toDisplayString as v, unref as y, withCtx as b } from "vue";
5
+ //#region src/Components/EmptyState/EmptyState.vue?vue&type=script&setup=true&lang.ts
6
+ var x = /*@__PURE__*/ d({
7
+ inheritAttrs: !1,
8
+ __name: "EmptyState",
9
+ props: {
10
+ align: { default: "center" },
11
+ classes: {},
12
+ customProps: {},
13
+ description: {},
14
+ icon: {},
15
+ mediaDecorative: {
16
+ type: Boolean,
17
+ default: !0
18
+ },
19
+ size: { default: "md" },
20
+ title: {},
21
+ titleAs: { default: "p" }
22
+ },
23
+ setup(d) {
24
+ let { slots: x, merged: S, iconBind: C, rootBind: w, titleBind: T, mediaBind: E, actionsBind: D, descriptionBind: O } = i(d, {
25
+ size: "md",
26
+ titleAs: "p",
27
+ align: "center",
28
+ mediaDecorative: !0
29
+ }), k = o(() => e(x, "media") || n(S.value.icon));
30
+ return (i, o) => (h(), l("div", m(f(y(w))), [
31
+ k.value ? (h(), l("div", m(p({ key: 0 }, y(E))), [y(e)(y(x), "media") ? g(i.$slots, "media", {}, void 0, void 0, 0) : y(S).icon ? (h(), s(y(r), p({ key: 1 }, y(C), { icon: y(S).icon }), null, 16, ["icon"])) : c("", !0)], 16)) : c("", !0),
32
+ y(t)(y(x), "title", y(S).title) ? (h(), s(_(y(S).titleAs), m(p({ key: 1 }, y(T))), {
33
+ default: b(() => [y(e)(y(x), "title") ? g(i.$slots, "title", {}, void 0, void 0, 0) : y(n)(y(S).title) ? (h(), l(a, { key: 1 }, [u(v(y(S).title), 1)], 64)) : c("", !0)]),
34
+ _: 3
35
+ }, 16)) : c("", !0),
36
+ y(t)(y(x), "description", y(S).description) ? (h(), l("div", m(p({ key: 2 }, y(O))), [y(e)(y(x), "description") ? g(i.$slots, "description", {}, void 0, void 0, 0) : y(n)(y(S).description) ? (h(), l(a, { key: 1 }, [u(v(y(S).description), 1)], 64)) : c("", !0)], 16)) : c("", !0),
37
+ y(e)(y(x), "action") ? (h(), l("div", m(p({ key: 3 }, y(D))), [g(i.$slots, "action")], 16)) : c("", !0)
38
+ ], 16));
39
+ }
40
+ });
41
+ //#endregion
42
+ export { x as default };
@@ -0,0 +1,24 @@
1
+ import { IconSize } from '@bridge-ui/core/Tokens';
2
+ import { LibDefaultsShape, MergeLibDefaults } from '@bridge-ui/core/Utils';
3
+ import { EmptyStateOwnProps, EmptyStateProps } from '../emptyState.types';
4
+ type EmptyStateLibDefaults = LibDefaultsShape<EmptyStateOwnProps, "size" | "align" | "titleAs" | "mediaDecorative">;
5
+ type EmptyStateMerged = MergeLibDefaults<EmptyStateOwnProps, EmptyStateLibDefaults>;
6
+ export declare function useEmptyState(props: EmptyStateOwnProps, libDefaults: EmptyStateLibDefaults): {
7
+ slots: Readonly<{
8
+ [name: string]: import('vue').Slot<any> | undefined;
9
+ }>;
10
+ merged: import('vue').ComputedRef<EmptyStateMerged>;
11
+ iconBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<{
12
+ size: keyof IconSize;
13
+ class: string;
14
+ }, "class", Partial<Omit<import('../../Icon').IconProps, "icon">> | undefined, {}>>;
15
+ rootBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, Omit<EmptyStateProps, "icon" | "size" | "classes" | "customProps" | "title" | "description" | "align" | "mediaDecorative" | "titleAs">>>;
16
+ titleBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {}>>;
17
+ mediaBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<{
18
+ "aria-hidden": boolean | undefined;
19
+ class: string;
20
+ }, "class", import('vue').HTMLAttributes | undefined, {}>>;
21
+ actionsBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {}>>;
22
+ descriptionBind: import('vue').ComputedRef<import('@bridge-ui/core/Utils').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {}>>;
23
+ };
24
+ export {};
@@ -0,0 +1,76 @@
1
+ import { mergePartBind as e, useBridgeUIComponent as t, useBridgeUIMergedRegistryClasses as n } from "../../../Utils/index.js";
2
+ import { computed as r, useAttrs as i, useSlots as a } from "vue";
3
+ import { get as o } from "es-toolkit/compat";
4
+ import { emptyStateAlignProps as s, emptyStateSizeProps as c } from "@bridge-ui/core/Tokens";
5
+ import { cn as l, mergeBridgeUILayeredClasses as u, splitComponentProps as d } from "@bridge-ui/core/Utils";
6
+ //#region src/Components/EmptyState/composables/useEmptyState.ts
7
+ var f = [
8
+ "icon",
9
+ "size",
10
+ "align",
11
+ "title",
12
+ "classes",
13
+ "titleAs",
14
+ "customProps",
15
+ "description",
16
+ "mediaDecorative"
17
+ ];
18
+ function p(p, m) {
19
+ let h = i(), g = a(), _ = r(() => d({
20
+ props: {
21
+ ...h,
22
+ ...p
23
+ },
24
+ bridgeKeys: f
25
+ })), { merged: v, entry: y } = t({
26
+ libDefaults: m,
27
+ componentName: "EmptyState",
28
+ props: () => _.value.componentProps
29
+ }), b = r(() => v.value.customProps), x = n({
30
+ entry: y,
31
+ props: () => _.value.componentProps
32
+ }), S = r(() => {
33
+ let e = u(c, y.value?.tokens?.size);
34
+ return o(e, v.value.size);
35
+ }), C = r(() => {
36
+ let e = u(s, y.value?.tokens?.align);
37
+ return o(e, v.value.align);
38
+ }), w = r(() => e(b.value?.actions, {}, l({
39
+ [o(S.value, "actions") ?? ""]: !0,
40
+ [o(x.value, "actions") ?? ""]: !0
41
+ }))), T = r(() => e(b.value?.description, {}, l({
42
+ [o(S.value, "description") ?? ""]: !0,
43
+ [o(x.value, "description") ?? ""]: !0
44
+ }))), E = r(() => e(b.value?.icon, {}, {
45
+ size: o(S.value, "icon") ?? "md",
46
+ class: l({
47
+ "shrink-0": !0,
48
+ [o(x.value, "icon") ?? ""]: !0
49
+ })
50
+ })), D = r(() => e(b.value?.media, {}, {
51
+ "aria-hidden": v.value.mediaDecorative ? !0 : void 0,
52
+ class: l({
53
+ [o(S.value, "media") ?? ""]: !0,
54
+ [o(x.value, "media") ?? ""]: !0
55
+ })
56
+ }));
57
+ return {
58
+ slots: g,
59
+ merged: v,
60
+ iconBind: E,
61
+ rootBind: r(() => e(b.value?.root, _.value.inheritedAttrs, l({
62
+ [o(S.value, "root") ?? ""]: !0,
63
+ [C.value ?? ""]: !0,
64
+ [o(x.value, "root") ?? ""]: !0
65
+ }))),
66
+ titleBind: r(() => e(b.value?.title, {}, l({
67
+ [o(S.value, "title") ?? ""]: !0,
68
+ [o(x.value, "title") ?? ""]: !0
69
+ }))),
70
+ mediaBind: D,
71
+ actionsBind: w,
72
+ descriptionBind: T
73
+ };
74
+ }
75
+ //#endregion
76
+ export { p as useEmptyState };