@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,151 @@
1
+ import { useResolveMessage as e } from "../../Adapters/I18n/useI18nAdapter.js";
2
+ import { useBreakpoint as t } from "../../Utils/useBreakpoint.js";
3
+ import n from "../Icon/Icon.js";
4
+ import r from "../Button/Button.js";
5
+ import i from "../FieldOverlay/FieldOverlay.js";
6
+ import a from "../Checkbox/Checkbox.js";
7
+ import o from "../TextField/TextField.js";
8
+ import s from "./DataTableFilterOptions.js";
9
+ import { computed as c, createCommentVNode as l, createElementBlock as u, createElementVNode as d, createTextVNode as f, createVNode as p, defineComponent as m, normalizeClass as h, openBlock as g, ref as _, toDisplayString as v, unref as y, watch as b, withCtx as x } from "vue";
10
+ import { flattenDataTableFilterOptionValues as S, getFieldOverlayControlSize as C, resolveFieldOverlay as w, setDataTableFilterDraftAll as T, toggleDataTableFilterDraft as E } from "@bridge-ui/core/Domain";
11
+ import { cn as D } from "@bridge-ui/core/Utils";
12
+ //#region src/Components/DataTable/DataTableFilterMenu.vue?vue&type=script&setup=true&lang.ts
13
+ var O = { class: "relative z-2 inline-flex items-center leading-none" }, k = ["aria-pressed", "aria-label"], A = { class: "min-w-52 overflow-hidden rounded-md bg-white px-1 pb-0.5 pt-2.5 shadow-lg ring-1 ring-black/5 dark:bg-dark-800 dark:ring-white/10" }, j = {
14
+ key: 0,
15
+ class: "px-1 pb-1.5"
16
+ }, M = {
17
+ key: 1,
18
+ class: "flex max-h-60 flex-col gap-0.5 overflow-y-auto overscroll-contain pb-2 bridge-soft-scrollbar"
19
+ }, N = ["aria-checked"], P = { class: "flex justify-end gap-2 border-t border-dark-200 px-2 pb-1 pt-1.5 dark:border-dark-700" }, F = /*@__PURE__*/ m({
20
+ inheritAttrs: !1,
21
+ name: "DataTableFilterMenu",
22
+ __name: "DataTableFilterMenu",
23
+ props: {
24
+ active: { type: Boolean },
25
+ columnId: {},
26
+ multiple: { type: Boolean },
27
+ options: {},
28
+ overlay: { default: "auto" },
29
+ searchable: { type: Boolean },
30
+ searchValue: {},
31
+ values: {}
32
+ },
33
+ emits: ["apply"],
34
+ setup(m, { emit: F }) {
35
+ let I = m, L = F, R = _(!1), z = _(""), B = t(), V = _([]), H = e(), U = _(null), W = c(() => S(I.options)), G = c(() => C(w(I.overlay, B.mobile))), K = c(() => W.value.length > 0 && W.value.every((e) => V.value.includes(e))), q = c(() => {
36
+ let e = W.value.filter((e) => V.value.includes(e)).length;
37
+ return e > 0 && e < W.value.length;
38
+ }), J = c(() => ({ menu: {
39
+ anchorEl: U.value,
40
+ placement: "bottom"
41
+ } }));
42
+ b(R, (e) => {
43
+ e && (z.value = I.searchValue, V.value = [...I.values]);
44
+ });
45
+ function Y() {
46
+ R.value = !R.value;
47
+ }
48
+ function X(e, t) {
49
+ V.value = E(V.value, e, t, I.multiple);
50
+ }
51
+ function Z() {
52
+ V.value = T(V.value, W.value, !K.value);
53
+ }
54
+ function Q() {
55
+ V.value = [], z.value = "";
56
+ }
57
+ function $() {
58
+ L("apply", V.value, z.value), R.value = !1;
59
+ }
60
+ return (e, t) => (g(), u("span", O, [d("button", {
61
+ type: "button",
62
+ ref_key: "triggerRef",
63
+ ref: U,
64
+ "aria-pressed": m.active,
65
+ onClick: Y,
66
+ "aria-label": y(H)("Filter column"),
67
+ class: h(y(D)({
68
+ "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": !0,
69
+ "text-primary-600": m.active
70
+ }))
71
+ }, [p(y(n), {
72
+ size: "sm",
73
+ icon: "filter"
74
+ })], 10, k), p(y(i), {
75
+ modelValue: R.value,
76
+ "onUpdate:modelValue": t[1] ||= (e) => R.value = e,
77
+ overlay: m.overlay,
78
+ "custom-props": J.value
79
+ }, {
80
+ default: x(() => [d("div", A, [
81
+ m.searchable ? (g(), u("div", j, [p(y(o), {
82
+ "hide-error-message": "",
83
+ "start-icon": "search",
84
+ size: G.value,
85
+ modelValue: z.value,
86
+ "onUpdate:modelValue": t[0] ||= (e) => z.value = e,
87
+ "aria-label": y(H)("Search"),
88
+ placeholder: y(H)("Search")
89
+ }, null, 8, [
90
+ "size",
91
+ "modelValue",
92
+ "aria-label",
93
+ "placeholder"
94
+ ])])) : l("", !0),
95
+ m.options.length > 0 ? (g(), u("div", M, [m.multiple && W.value.length > 0 ? (g(), u("div", {
96
+ key: 0,
97
+ role: "menuitemcheckbox",
98
+ "aria-checked": K.value,
99
+ onClick: Z,
100
+ class: "flex w-full cursor-pointer items-center rounded-md px-2 py-1.5 text-start hover:bg-dark-500/5 dark:hover:bg-dark-500/10"
101
+ }, [p(y(a), {
102
+ "hide-error-message": "",
103
+ size: G.value,
104
+ "model-value": K.value,
105
+ indeterminate: q.value,
106
+ classes: { root: "pointer-events-none" },
107
+ "end-label": y(H)("Select all items")
108
+ }, null, 8, [
109
+ "size",
110
+ "model-value",
111
+ "indeterminate",
112
+ "end-label"
113
+ ])], 8, N)) : l("", !0), p(s, {
114
+ options: m.options,
115
+ size: G.value,
116
+ draft: V.value,
117
+ multiple: m.multiple,
118
+ onToggle: X,
119
+ name: `filter-${m.columnId}`
120
+ }, null, 8, [
121
+ "options",
122
+ "size",
123
+ "draft",
124
+ "multiple",
125
+ "name"
126
+ ])])) : l("", !0),
127
+ d("div", P, [p(y(r), {
128
+ size: "sm",
129
+ variant: "outline",
130
+ onClick: Q
131
+ }, {
132
+ default: x(() => [f(v(y(H)("Reset")), 1)]),
133
+ _: 1
134
+ }), p(y(r), {
135
+ size: "sm",
136
+ onClick: $
137
+ }, {
138
+ default: x(() => [f(v(y(H)("OK")), 1)]),
139
+ _: 1
140
+ })])
141
+ ])]),
142
+ _: 1
143
+ }, 8, [
144
+ "modelValue",
145
+ "overlay",
146
+ "custom-props"
147
+ ])]));
148
+ }
149
+ });
150
+ //#endregion
151
+ export { F as default };
@@ -0,0 +1,5 @@
1
+ import e from "./DataTableFilterOptions.vue_vue_type_script_setup_true_lang.js";
2
+ //#region src/Components/DataTable/DataTableFilterOptions.vue
3
+ var t = e;
4
+ //#endregion
5
+ export { t as default };
@@ -0,0 +1,17 @@
1
+ import { DataTableFilterOption } from '@bridge-ui/core/Domain';
2
+ type __VLS_Props = {
3
+ draft: string[];
4
+ multiple: boolean;
5
+ name: string;
6
+ options: DataTableFilterOption[];
7
+ size?: "md" | "sm";
8
+ };
9
+ declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
10
+ toggle: (value: string, selected: boolean) => any;
11
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
12
+ onToggle?: ((value: string, selected: boolean) => any) | undefined;
13
+ }>, {
14
+ size: "md" | "sm";
15
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
16
+ declare const _default: typeof __VLS_export;
17
+ export default _default;
@@ -0,0 +1,81 @@
1
+ import e from "../Checkbox/Checkbox.js";
2
+ import t from "../Radio/Radio.js";
3
+ import { Fragment as n, createBlock as r, createElementBlock as i, createElementVNode as a, createVNode as o, defineComponent as s, openBlock as c, renderList as l, resolveComponent as u, toDisplayString as d, unref as f } from "vue";
4
+ //#region src/Components/DataTable/DataTableFilterOptions.vue?vue&type=script&setup=true&lang.ts
5
+ var p = {
6
+ key: 0,
7
+ class: "min-w-0"
8
+ }, m = { class: "px-2 py-1 text-xs font-medium text-dark-500 dark:text-dark-400" }, h = { class: "ps-2" }, g = [
9
+ "aria-checked",
10
+ "role",
11
+ "onClick"
12
+ ], _ = /*@__PURE__*/ s({
13
+ inheritAttrs: !1,
14
+ name: "DataTableFilterOptions",
15
+ __name: "DataTableFilterOptions",
16
+ props: {
17
+ draft: {},
18
+ multiple: { type: Boolean },
19
+ name: {},
20
+ options: {},
21
+ size: { default: "sm" }
22
+ },
23
+ emits: ["toggle"],
24
+ setup(s, { emit: _ }) {
25
+ let v = s, y = _;
26
+ function b(e) {
27
+ return v.multiple ? v.draft.includes(e) : v.draft[0] === e;
28
+ }
29
+ return (_, v) => {
30
+ let x = u("DataTableFilterOptions", !0);
31
+ return c(!0), i(n, null, l(s.options, (l) => (c(), i(n, { key: l.value }, [l.children && l.children.length > 0 ? (c(), i("div", p, [a("div", m, d(l.label), 1), a("div", h, [o(x, {
32
+ name: s.name,
33
+ size: s.size,
34
+ draft: s.draft,
35
+ multiple: s.multiple,
36
+ options: l.children,
37
+ onToggle: v[0] ||= (e, t) => y("toggle", e, t)
38
+ }, null, 8, [
39
+ "name",
40
+ "size",
41
+ "draft",
42
+ "multiple",
43
+ "options"
44
+ ])])])) : (c(), i("div", {
45
+ key: 1,
46
+ "aria-checked": b(l.value),
47
+ role: s.multiple ? "menuitemcheckbox" : "menuitemradio",
48
+ onClick: (e) => y("toggle", l.value, !b(l.value)),
49
+ class: "flex w-full cursor-pointer items-center rounded-md px-2 py-1.5 text-start hover:bg-dark-500/5 dark:hover:bg-dark-500/10"
50
+ }, [s.multiple ? (c(), r(f(e), {
51
+ key: 0,
52
+ size: s.size,
53
+ "hide-error-message": "",
54
+ "end-label": l.label,
55
+ "model-value": b(l.value),
56
+ classes: { root: "pointer-events-none" }
57
+ }, null, 8, [
58
+ "size",
59
+ "end-label",
60
+ "model-value"
61
+ ])) : (c(), r(f(t), {
62
+ key: 1,
63
+ name: s.name,
64
+ size: s.size,
65
+ "hide-error-message": "",
66
+ value: l.value,
67
+ "model-value": s.draft[0],
68
+ "end-label": l.label,
69
+ classes: { root: "pointer-events-none" }
70
+ }, null, 8, [
71
+ "name",
72
+ "size",
73
+ "value",
74
+ "model-value",
75
+ "end-label"
76
+ ]))], 8, g))], 64))), 128);
77
+ };
78
+ }
79
+ });
80
+ //#endregion
81
+ export { _ as default };
@@ -0,0 +1,5 @@
1
+ import e from "./DataTableSearch.vue_vue_type_script_setup_true_lang.js";
2
+ //#region src/Components/DataTable/DataTableSearch.vue
3
+ var t = e;
4
+ //#endregion
5
+ export { t as default };
@@ -0,0 +1,12 @@
1
+ import { TextFieldOwnProps } from '../TextField/textField.types';
2
+ type __VLS_Props = {
3
+ fieldProps?: Partial<Omit<TextFieldOwnProps, "modelValue">>;
4
+ modelValue: string;
5
+ };
6
+ declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
7
+ "update:modelValue": (query: string) => any;
8
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
9
+ "onUpdate:modelValue"?: ((query: string) => any) | undefined;
10
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
11
+ declare const _default: typeof __VLS_export;
12
+ export default _default;
@@ -0,0 +1,39 @@
1
+ import { useResolveMessage as e } from "../../Adapters/I18n/useI18nAdapter.js";
2
+ import t from "../TextField/TextField.js";
3
+ import { createBlock as n, defineComponent as r, mergeProps as i, openBlock as a, unref as o } from "vue";
4
+ import { cn as s } from "@bridge-ui/core/Utils";
5
+ //#region src/Components/DataTable/DataTableSearch.vue?vue&type=script&setup=true&lang.ts
6
+ var c = /*@__PURE__*/ r({
7
+ inheritAttrs: !1,
8
+ name: "DataTableSearch",
9
+ __name: "DataTableSearch",
10
+ props: {
11
+ fieldProps: {},
12
+ modelValue: {}
13
+ },
14
+ emits: ["update:modelValue"],
15
+ setup(r, { emit: c }) {
16
+ let l = c, u = e();
17
+ return (e, c) => (a(), n(o(t), i({
18
+ size: "sm",
19
+ "hide-error-message": "",
20
+ "start-icon": "search"
21
+ }, r.fieldProps, {
22
+ "model-value": r.modelValue,
23
+ "aria-label": o(u)("Search"),
24
+ placeholder: o(u)("Search"),
25
+ "onUpdate:modelValue": c[0] ||= (e) => l("update:modelValue", e ?? ""),
26
+ classes: {
27
+ ...r.fieldProps?.classes,
28
+ root: o(s)("w-52", r.fieldProps?.classes?.root)
29
+ }
30
+ }), null, 16, [
31
+ "model-value",
32
+ "aria-label",
33
+ "placeholder",
34
+ "classes"
35
+ ]));
36
+ }
37
+ });
38
+ //#endregion
39
+ export { c as default };
@@ -0,0 +1,5 @@
1
+ import e from "./DataTableSelection.vue_vue_type_script_setup_true_lang.js";
2
+ //#region src/Components/DataTable/DataTableSelection.vue
3
+ var t = e;
4
+ //#endregion
5
+ export { t as default };
@@ -0,0 +1,20 @@
1
+ import { CheckboxProps } from '../Checkbox/checkbox.types';
2
+ import { DataTableCustomProps } from './dataTable.types';
3
+ type __VLS_Props = {
4
+ checkboxProps?: DataTableCustomProps["checkbox"];
5
+ checked: boolean;
6
+ indeterminate?: boolean;
7
+ kind: "row" | "page";
8
+ multiple?: boolean;
9
+ name?: string;
10
+ radioProps?: DataTableCustomProps["radio"];
11
+ size: CheckboxProps["size"];
12
+ value?: string;
13
+ };
14
+ declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
15
+ change: (checked: boolean) => any;
16
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
17
+ onChange?: ((checked: boolean) => any) | undefined;
18
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
19
+ declare const _default: typeof __VLS_export;
20
+ export default _default;
@@ -0,0 +1,56 @@
1
+ import { useResolveMessage as e } from "../../Adapters/I18n/useI18nAdapter.js";
2
+ import t from "../Checkbox/Checkbox.js";
3
+ import n from "../Radio/Radio.js";
4
+ import { computed as r, createBlock as i, defineComponent as a, mergeProps as o, openBlock as s, unref as c } from "vue";
5
+ //#region src/Components/DataTable/DataTableSelection.vue?vue&type=script&setup=true&lang.ts
6
+ var l = /*@__PURE__*/ a({
7
+ inheritAttrs: !1,
8
+ name: "DataTableSelection",
9
+ __name: "DataTableSelection",
10
+ props: {
11
+ checkboxProps: {},
12
+ checked: { type: Boolean },
13
+ indeterminate: { type: Boolean },
14
+ kind: {},
15
+ multiple: { type: Boolean },
16
+ name: {},
17
+ radioProps: {},
18
+ size: {},
19
+ value: {}
20
+ },
21
+ emits: ["change"],
22
+ setup(a, { emit: l }) {
23
+ let u = a, d = l, f = e(), p = r(() => u.kind === "page" ? f("Select all rows") : f("Select row"));
24
+ return (e, r) => a.kind === "page" || a.multiple ? (s(), i(c(t), o({
25
+ key: 0,
26
+ size: a.size,
27
+ "hide-error-message": "",
28
+ "model-value": a.checked,
29
+ "aria-label": p.value,
30
+ indeterminate: a.indeterminate
31
+ }, a.checkboxProps, { "onUpdate:modelValue": r[0] ||= (e) => d("change", !!e) }), null, 16, [
32
+ "size",
33
+ "model-value",
34
+ "aria-label",
35
+ "indeterminate"
36
+ ])) : (s(), i(c(n), o({
37
+ key: 1,
38
+ size: a.size,
39
+ name: a.name,
40
+ value: a.value,
41
+ "hide-error-message": "",
42
+ "aria-label": p.value
43
+ }, a.radioProps, {
44
+ "model-value": a.checked ? a.value : "",
45
+ "onUpdate:modelValue": r[1] ||= () => d("change", !0)
46
+ }), null, 16, [
47
+ "size",
48
+ "name",
49
+ "value",
50
+ "aria-label",
51
+ "model-value"
52
+ ]));
53
+ }
54
+ });
55
+ //#endregion
56
+ export { l as default };
@@ -0,0 +1,5 @@
1
+ import e from "./DataTableSortButton.vue_vue_type_script_setup_true_lang.js";
2
+ //#region src/Components/DataTable/DataTableSortButton.vue
3
+ var t = e;
4
+ //#endregion
5
+ export { t as default };
@@ -0,0 +1,17 @@
1
+ import { DataTableAriaSort } from '@bridge-ui/core/Domain';
2
+ type __VLS_Props = {
3
+ sort: DataTableAriaSort;
4
+ };
5
+ declare var __VLS_1: {};
6
+ type __VLS_Slots = {} & {
7
+ default?: (props: typeof __VLS_1) => any;
8
+ };
9
+ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
10
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
11
+ declare const _default: typeof __VLS_export;
12
+ export default _default;
13
+ type __VLS_WithSlots<T, S> = T & {
14
+ new (): {
15
+ $slots: S;
16
+ };
17
+ };
@@ -0,0 +1,43 @@
1
+ import { useResolveMessage as e } from "../../Adapters/I18n/useI18nAdapter.js";
2
+ import t from "../Icon/Icon.js";
3
+ import n from "../Tooltip/Tooltip.js";
4
+ import { Fragment as r, computed as i, createElementBlock as a, createElementVNode as o, createVNode as s, defineComponent as c, normalizeClass as l, openBlock as u, renderSlot as d, unref as f, withCtx as p } from "vue";
5
+ import { getDataTableSortTooltip as m } from "@bridge-ui/core/Domain";
6
+ import { cn as h } from "@bridge-ui/core/Utils";
7
+ //#region src/Components/DataTable/DataTableSortButton.vue?vue&type=script&setup=true&lang.ts
8
+ var g = { class: "inline-flex min-w-0 flex-1 items-center gap-1.5 leading-none" }, _ = { class: "min-w-0 truncate leading-none" }, v = { class: "inline-flex h-6 w-5 shrink-0 flex-col items-center justify-center leading-none" }, y = /*@__PURE__*/ c({
9
+ inheritAttrs: !1,
10
+ name: "DataTableSortButton",
11
+ __name: "DataTableSortButton",
12
+ props: { sort: {} },
13
+ setup(c) {
14
+ let y = c, b = e(), x = i(() => b(m(y.sort)));
15
+ return (e, i) => (u(), a(r, null, [o("span", g, [o("span", _, [d(e.$slots, "default")]), o("span", v, [s(f(t), {
16
+ size: "lg",
17
+ icon: "chevronUp",
18
+ class: l(f(h)({
19
+ "-mb-1": !0,
20
+ "text-dark-800 dark:text-dark-100": c.sort === "ascending",
21
+ "text-dark-300 dark:text-dark-600": c.sort !== "ascending"
22
+ }))
23
+ }, null, 8, ["class"]), s(f(t), {
24
+ size: "lg",
25
+ icon: "chevronDown",
26
+ class: l(f(h)({
27
+ "text-dark-800 dark:text-dark-100": c.sort === "descending",
28
+ "text-dark-300 dark:text-dark-600": c.sort !== "descending"
29
+ }))
30
+ }, null, 8, ["class"])])]), s(f(n), {
31
+ content: x.value,
32
+ "custom-props": {
33
+ root: { class: "absolute inset-0 z-[1] max-w-none" },
34
+ trigger: { class: "absolute inset-0 size-full max-w-none" }
35
+ }
36
+ }, {
37
+ trigger: p(() => [...i[0] ||= [o("span", { class: "size-full" }, null, -1)]]),
38
+ _: 1
39
+ }, 8, ["content"])], 64));
40
+ }
41
+ });
42
+ //#endregion
43
+ export { y as default };
@@ -0,0 +1,5 @@
1
+ import e from "./DataTableToolbarButton.vue_vue_type_script_setup_true_lang.js";
2
+ //#region src/Components/DataTable/DataTableToolbarButton.vue
3
+ var t = e;
4
+ //#endregion
5
+ export { t as default };
@@ -0,0 +1,14 @@
1
+ import { IconSource } from '../../Adapters/Icon';
2
+ import { ButtonOwnProps } from '../Button/button.types';
3
+ type __VLS_Props = {
4
+ buttonProps?: Partial<Omit<ButtonOwnProps, "icon">>;
5
+ icon: IconSource;
6
+ label: string;
7
+ };
8
+ declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
9
+ click: (event: MouseEvent) => any;
10
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
11
+ onClick?: ((event: MouseEvent) => any) | undefined;
12
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
13
+ declare const _default: typeof __VLS_export;
14
+ export default _default;
@@ -0,0 +1,31 @@
1
+ import e from "../Button/Button.js";
2
+ import t from "../Tooltip/Tooltip.js";
3
+ import { createBlock as n, createVNode as r, defineComponent as i, mergeProps as a, openBlock as o, unref as s, withCtx as c } from "vue";
4
+ //#region src/Components/DataTable/DataTableToolbarButton.vue?vue&type=script&setup=true&lang.ts
5
+ var l = /*@__PURE__*/ i({
6
+ inheritAttrs: !1,
7
+ name: "DataTableToolbarButton",
8
+ __name: "DataTableToolbarButton",
9
+ props: {
10
+ buttonProps: {},
11
+ icon: {},
12
+ label: {}
13
+ },
14
+ emits: ["click"],
15
+ setup(i, { emit: l }) {
16
+ let u = l;
17
+ return (l, d) => (o(), n(s(t), { content: i.label }, {
18
+ trigger: c(() => [r(s(e), a({
19
+ size: "sm",
20
+ color: "dark",
21
+ icon: i.icon,
22
+ type: "button",
23
+ density: "mini",
24
+ "aria-label": i.label
25
+ }, i.buttonProps, { onClick: d[0] ||= (e) => u("click", e) }), null, 16, ["icon", "aria-label"])]),
26
+ _: 1
27
+ }, 8, ["content"]));
28
+ }
29
+ });
30
+ //#endregion
31
+ export { l as default };