@bridge-ui/vue 0.2.0 → 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 (107) hide show
  1. package/ai/skills/bridge-ui-components/SKILL.md +3 -1
  2. package/dist/Components/Autocomplete/composables/useAutocomplete.d.ts +1 -1
  3. package/dist/Components/ColorField/composables/useColorField.d.ts +2 -1
  4. package/dist/Components/DataTable/DataTable.js +5 -0
  5. package/dist/Components/DataTable/DataTable.vue.d.ts +43 -0
  6. package/dist/Components/DataTable/DataTable.vue_vue_type_script_setup_true_lang.js +382 -0
  7. package/dist/Components/DataTable/DataTableCellContent.js +5 -0
  8. package/dist/Components/DataTable/DataTableCellContent.vue.d.ts +23 -0
  9. package/dist/Components/DataTable/DataTableCellContent.vue_vue_type_script_setup_true_lang.js +38 -0
  10. package/dist/Components/DataTable/DataTableColumnsMenu.js +5 -0
  11. package/dist/Components/DataTable/DataTableColumnsMenu.vue.d.ts +11 -0
  12. package/dist/Components/DataTable/DataTableColumnsMenu.vue_vue_type_script_setup_true_lang.js +47 -0
  13. package/dist/Components/DataTable/DataTableFilterMenu.js +5 -0
  14. package/dist/Components/DataTable/DataTableFilterMenu.vue.d.ts +17 -0
  15. package/dist/Components/DataTable/DataTableFilterMenu.vue_vue_type_script_setup_true_lang.js +132 -0
  16. package/dist/Components/DataTable/DataTableFilterOptions.js +5 -0
  17. package/dist/Components/DataTable/DataTableFilterOptions.vue.d.ts +14 -0
  18. package/dist/Components/DataTable/DataTableFilterOptions.vue_vue_type_script_setup_true_lang.js +73 -0
  19. package/dist/Components/DataTable/DataTableSearch.js +5 -0
  20. package/dist/Components/DataTable/DataTableSearch.vue.d.ts +12 -0
  21. package/dist/Components/DataTable/DataTableSearch.vue_vue_type_script_setup_true_lang.js +39 -0
  22. package/dist/Components/DataTable/DataTableSelection.js +5 -0
  23. package/dist/Components/DataTable/DataTableSelection.vue.d.ts +20 -0
  24. package/dist/Components/DataTable/DataTableSelection.vue_vue_type_script_setup_true_lang.js +55 -0
  25. package/dist/Components/DataTable/DataTableSortButton.js +5 -0
  26. package/dist/Components/DataTable/DataTableSortButton.vue.d.ts +17 -0
  27. package/dist/Components/DataTable/DataTableSortButton.vue_vue_type_script_setup_true_lang.js +43 -0
  28. package/dist/Components/DataTable/DataTableToolbarButton.js +5 -0
  29. package/dist/Components/DataTable/DataTableToolbarButton.vue.d.ts +13 -0
  30. package/dist/Components/DataTable/DataTableToolbarButton.vue_vue_type_script_setup_true_lang.js +31 -0
  31. package/dist/Components/DataTable/composables/useDataTable.d.ts +557 -0
  32. package/dist/Components/DataTable/composables/useDataTable.js +479 -0
  33. package/dist/Components/DataTable/dataTable.types.d.ts +480 -0
  34. package/dist/Components/DataTable/index.d.ts +3 -0
  35. package/dist/Components/DataTable/index.js +3 -0
  36. package/dist/Components/DateField/composables/useDateField.d.ts +2 -1
  37. package/dist/Components/DateRangeField/composables/useDateRangeField.d.ts +2 -1
  38. package/dist/Components/DateTimeField/composables/useDateTimeField.d.ts +2 -1
  39. package/dist/Components/DateTimeRangeField/composables/useDateTimeRangeField.d.ts +2 -1
  40. package/dist/Components/FormField/composables/useFormField.d.ts +1 -1
  41. package/dist/Components/Menu/Menu.vue_vue_type_script_setup_true_lang.js +1 -0
  42. package/dist/Components/Menu/composables/useMenu.d.ts +1 -1
  43. package/dist/Components/Menu/composables/useMenu.js +7 -3
  44. package/dist/Components/Menu/menu.types.d.ts +6 -0
  45. package/dist/Components/NumberField/composables/useNumberField.d.ts +1 -1
  46. package/dist/Components/PasswordField/composables/usePasswordField.d.ts +1 -1
  47. package/dist/Components/Radio/Radio.vue_vue_type_script_setup_true_lang.js +9 -9
  48. package/dist/Components/Radio/composables/useRadio.js +57 -54
  49. package/dist/Components/Select/composables/useSelect.d.ts +1 -1
  50. package/dist/Components/Slider/composables/useSlider.d.ts +2 -2
  51. package/dist/Components/Snackbar/composables/useSnackbar.d.ts +1 -1
  52. package/dist/Components/Table/Table.js +5 -0
  53. package/dist/Components/Table/Table.vue.d.ts +16 -0
  54. package/dist/Components/Table/Table.vue_vue_type_script_setup_true_lang.js +44 -0
  55. package/dist/Components/Table/TableBody.js +5 -0
  56. package/dist/Components/Table/TableBody.vue.d.ts +11 -0
  57. package/dist/Components/Table/TableBody.vue_vue_type_script_setup_true_lang.js +17 -0
  58. package/dist/Components/Table/TableCaption.js +5 -0
  59. package/dist/Components/Table/TableCaption.vue.d.ts +11 -0
  60. package/dist/Components/Table/TableCaption.vue_vue_type_script_setup_true_lang.js +17 -0
  61. package/dist/Components/Table/TableCell.js +5 -0
  62. package/dist/Components/Table/TableCell.vue.d.ts +11 -0
  63. package/dist/Components/Table/TableCell.vue_vue_type_script_setup_true_lang.js +19 -0
  64. package/dist/Components/Table/TableFooter.js +5 -0
  65. package/dist/Components/Table/TableFooter.vue.d.ts +11 -0
  66. package/dist/Components/Table/TableFooter.vue_vue_type_script_setup_true_lang.js +17 -0
  67. package/dist/Components/Table/TableHead.js +5 -0
  68. package/dist/Components/Table/TableHead.vue.d.ts +11 -0
  69. package/dist/Components/Table/TableHead.vue_vue_type_script_setup_true_lang.js +19 -0
  70. package/dist/Components/Table/TableHeader.js +5 -0
  71. package/dist/Components/Table/TableHeader.vue.d.ts +11 -0
  72. package/dist/Components/Table/TableHeader.vue_vue_type_script_setup_true_lang.js +17 -0
  73. package/dist/Components/Table/TableRow.js +5 -0
  74. package/dist/Components/Table/TableRow.vue.d.ts +11 -0
  75. package/dist/Components/Table/TableRow.vue_vue_type_script_setup_true_lang.js +17 -0
  76. package/dist/Components/Table/composables/useTable.d.ts +16 -0
  77. package/dist/Components/Table/composables/useTable.js +88 -0
  78. package/dist/Components/Table/composables/useTableCell.d.ts +12 -0
  79. package/dist/Components/Table/composables/useTableCell.js +40 -0
  80. package/dist/Components/Table/composables/useTablePart.d.ts +12 -0
  81. package/dist/Components/Table/composables/useTablePart.js +32 -0
  82. package/dist/Components/Table/composables/useTableRow.d.ts +6 -0
  83. package/dist/Components/Table/composables/useTableRow.js +29 -0
  84. package/dist/Components/Table/index.d.ts +14 -0
  85. package/dist/Components/Table/index.js +14 -0
  86. package/dist/Components/Table/table.types.d.ts +416 -0
  87. package/dist/Components/Table/tableInjectionKey.d.ts +114 -0
  88. package/dist/Components/Table/tableInjectionKey.js +4 -0
  89. package/dist/Components/TextField/composables/useTextField.d.ts +1 -1
  90. package/dist/Components/Textarea/composables/useTextarea.d.ts +1 -1
  91. package/dist/Components/TimeField/composables/useTimeField.d.ts +2 -1
  92. package/dist/Components/TimeRangeField/composables/useTimeRangeField.d.ts +2 -1
  93. package/docs/README.md +2 -0
  94. package/docs/components/CalendarDate.md +1 -1
  95. package/docs/components/DataTable.md +345 -0
  96. package/docs/components/DateField.md +2 -2
  97. package/docs/components/DatePicker.md +3 -3
  98. package/docs/components/DateRangePicker.md +1 -1
  99. package/docs/components/Pagination.md +2 -2
  100. package/docs/components/Table.md +122 -0
  101. package/docs/examples/i18n-dictionary.ts +4 -0
  102. package/docs/examples/icon-fontawesome.ts +8 -0
  103. package/docs/examples/icon-heroicons.ts +8 -0
  104. package/docs/examples/icon-lucide.ts +8 -0
  105. package/docs/examples/icon-phosphor.ts +8 -0
  106. package/docs/examples/icon-tabler.ts +8 -0
  107. package/package.json +9 -2
@@ -0,0 +1,132 @@
1
+ import { useResolveMessage as e } from "../../Adapters/I18n/useI18nAdapter.js";
2
+ import t from "../Icon/Icon.js";
3
+ import n from "../Button/Button.js";
4
+ import r from "../Menu/Menu.js";
5
+ import i from "../Checkbox/Checkbox.js";
6
+ import a from "../TextField/TextField.js";
7
+ import o from "./DataTableFilterOptions.js";
8
+ import { computed as s, createBlock 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 _, unref as v, watch as y, withCtx as b } from "vue";
9
+ import { flattenDataTableFilterOptionValues as x, setDataTableFilterDraftAll as S, toggleDataTableFilterDraft as C } from "@bridge-ui/core/Domain";
10
+ import { cn as w } from "@bridge-ui/core/Utils";
11
+ //#region src/Components/DataTable/DataTableFilterMenu.vue?vue&type=script&setup=true&lang.ts
12
+ var T = ["aria-pressed"], E = { class: "min-w-52 px-1 pb-0.5 pt-2.5" }, D = {
13
+ key: 0,
14
+ class: "px-1 pb-1.5"
15
+ }, O = {
16
+ key: 1,
17
+ class: "flex max-h-60 flex-col gap-0.5 overflow-y-auto pb-2"
18
+ }, k = ["aria-checked"], A = { class: "flex justify-end gap-2 border-t border-dark-200 px-2 pb-1 pt-1.5 dark:border-dark-700" }, j = /*@__PURE__*/ m({
19
+ inheritAttrs: !1,
20
+ name: "DataTableFilterMenu",
21
+ __name: "DataTableFilterMenu",
22
+ props: {
23
+ active: { type: Boolean },
24
+ columnId: {},
25
+ multiple: { type: Boolean },
26
+ options: {},
27
+ searchable: { type: Boolean },
28
+ searchValue: {},
29
+ values: {}
30
+ },
31
+ emits: ["apply"],
32
+ setup(m, { emit: j }) {
33
+ let M = m, N = j, P = _(!1), F = _([]), I = _(""), L = e(), R = s(() => L("Search")), z = s(() => x(M.options)), B = s(() => z.value.length > 0 && z.value.every((e) => F.value.includes(e))), V = s(() => {
34
+ let e = z.value.filter((e) => F.value.includes(e)).length;
35
+ return e > 0 && e < z.value.length;
36
+ });
37
+ y(P, (e) => {
38
+ e && (I.value = M.searchValue, F.value = [...M.values]);
39
+ });
40
+ function H(e, t) {
41
+ F.value = C(F.value, e, t, M.multiple);
42
+ }
43
+ function U() {
44
+ F.value = S(F.value, z.value, !B.value);
45
+ }
46
+ function W() {
47
+ F.value = [], I.value = "";
48
+ }
49
+ function G() {
50
+ N("apply", F.value, I.value), P.value = !1;
51
+ }
52
+ return (e, s) => (g(), c(v(r), {
53
+ modelValue: P.value,
54
+ "onUpdate:modelValue": s[1] ||= (e) => P.value = e,
55
+ placement: "bottom",
56
+ "custom-props": {
57
+ root: { class: "relative z-[2] inline-flex items-center leading-none" },
58
+ trigger: { class: "inline-flex items-center leading-none" }
59
+ }
60
+ }, {
61
+ trigger: b(() => [d("button", {
62
+ type: "button",
63
+ "aria-pressed": m.active,
64
+ "aria-label": "Filter column",
65
+ class: h(v(w)({
66
+ "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,
67
+ "text-primary-600": m.active
68
+ }))
69
+ }, [p(v(t), {
70
+ size: "sm",
71
+ icon: "filter"
72
+ })], 10, T)]),
73
+ default: b(() => [d("div", E, [
74
+ m.searchable ? (g(), u("div", D, [p(v(a), {
75
+ size: "sm",
76
+ "hide-error-message": "",
77
+ "start-icon": "search",
78
+ modelValue: I.value,
79
+ "onUpdate:modelValue": s[0] ||= (e) => I.value = e,
80
+ "aria-label": R.value,
81
+ placeholder: R.value
82
+ }, null, 8, [
83
+ "modelValue",
84
+ "aria-label",
85
+ "placeholder"
86
+ ])])) : l("", !0),
87
+ m.options.length > 0 ? (g(), u("div", O, [m.multiple && z.value.length > 0 ? (g(), u("div", {
88
+ key: 0,
89
+ role: "menuitemcheckbox",
90
+ "aria-checked": B.value,
91
+ onClick: U,
92
+ 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"
93
+ }, [p(v(i), {
94
+ size: "sm",
95
+ "hide-error-message": "",
96
+ "model-value": B.value,
97
+ "end-label": "Select all items",
98
+ indeterminate: V.value,
99
+ classes: { root: "pointer-events-none" }
100
+ }, null, 8, ["model-value", "indeterminate"])], 8, k)) : l("", !0), p(o, {
101
+ options: m.options,
102
+ draft: F.value,
103
+ multiple: m.multiple,
104
+ onToggle: H,
105
+ name: `filter-${m.columnId}`
106
+ }, null, 8, [
107
+ "options",
108
+ "draft",
109
+ "multiple",
110
+ "name"
111
+ ])])) : l("", !0),
112
+ d("div", A, [p(v(n), {
113
+ size: "sm",
114
+ variant: "outline",
115
+ onClick: W
116
+ }, {
117
+ default: b(() => [...s[2] ||= [f(" Reset ", -1)]]),
118
+ _: 1
119
+ }), p(v(n), {
120
+ size: "sm",
121
+ onClick: G
122
+ }, {
123
+ default: b(() => [...s[3] ||= [f("OK", -1)]]),
124
+ _: 1
125
+ })])
126
+ ])]),
127
+ _: 1
128
+ }, 8, ["modelValue"]));
129
+ }
130
+ });
131
+ //#endregion
132
+ export { j 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,14 @@
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
+ };
8
+ declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
9
+ toggle: (value: string, selected: boolean) => any;
10
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
11
+ onToggle?: ((value: string, selected: boolean) => any) | undefined;
12
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
13
+ declare const _default: typeof __VLS_export;
14
+ export default _default;
@@ -0,0 +1,73 @@
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
+ },
22
+ emits: ["toggle"],
23
+ setup(s, { emit: _ }) {
24
+ let v = s, y = _;
25
+ function b(e) {
26
+ return v.multiple ? v.draft.includes(e) : v.draft[0] === e;
27
+ }
28
+ return (_, v) => {
29
+ let x = u("DataTableFilterOptions", !0);
30
+ 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, {
31
+ name: s.name,
32
+ draft: s.draft,
33
+ multiple: s.multiple,
34
+ options: l.children,
35
+ onToggle: v[0] ||= (e, t) => y("toggle", e, t)
36
+ }, null, 8, [
37
+ "name",
38
+ "draft",
39
+ "multiple",
40
+ "options"
41
+ ])])])) : (c(), i("div", {
42
+ key: 1,
43
+ "aria-checked": b(l.value),
44
+ role: s.multiple ? "menuitemcheckbox" : "menuitemradio",
45
+ onClick: (e) => y("toggle", l.value, !b(l.value)),
46
+ 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"
47
+ }, [s.multiple ? (c(), r(f(e), {
48
+ key: 0,
49
+ size: "sm",
50
+ "hide-error-message": "",
51
+ "end-label": l.label,
52
+ "model-value": b(l.value),
53
+ classes: { root: "pointer-events-none" }
54
+ }, null, 8, ["end-label", "model-value"])) : (c(), r(f(t), {
55
+ key: 1,
56
+ size: "sm",
57
+ name: s.name,
58
+ "hide-error-message": "",
59
+ value: l.value,
60
+ "model-value": s.draft[0],
61
+ "end-label": l.label,
62
+ classes: { root: "pointer-events-none" }
63
+ }, null, 8, [
64
+ "name",
65
+ "value",
66
+ "model-value",
67
+ "end-label"
68
+ ]))], 8, g))], 64))), 128);
69
+ };
70
+ }
71
+ });
72
+ //#endregion
73
+ 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,55 @@
1
+ import e from "../Checkbox/Checkbox.js";
2
+ import t from "../Radio/Radio.js";
3
+ import { computed as n, createBlock as r, defineComponent as i, mergeProps as a, openBlock as o, unref as s } from "vue";
4
+ //#region src/Components/DataTable/DataTableSelection.vue?vue&type=script&setup=true&lang.ts
5
+ var c = /*@__PURE__*/ i({
6
+ inheritAttrs: !1,
7
+ name: "DataTableSelection",
8
+ __name: "DataTableSelection",
9
+ props: {
10
+ checkboxProps: {},
11
+ checked: { type: Boolean },
12
+ indeterminate: { type: Boolean },
13
+ kind: {},
14
+ multiple: { type: Boolean },
15
+ name: {},
16
+ radioProps: {},
17
+ size: {},
18
+ value: {}
19
+ },
20
+ emits: ["change"],
21
+ setup(i, { emit: c }) {
22
+ let l = i, u = c, d = n(() => l.kind === "page" ? "Select all rows" : "Select row");
23
+ return (n, c) => i.kind === "page" || i.multiple ? (o(), r(s(e), a({
24
+ key: 0,
25
+ size: i.size,
26
+ "hide-error-message": "",
27
+ "model-value": i.checked,
28
+ "aria-label": d.value,
29
+ indeterminate: i.indeterminate
30
+ }, i.checkboxProps, { "onUpdate:modelValue": c[0] ||= (e) => u("change", !!e) }), null, 16, [
31
+ "size",
32
+ "model-value",
33
+ "aria-label",
34
+ "indeterminate"
35
+ ])) : (o(), r(s(t), a({
36
+ key: 1,
37
+ size: i.size,
38
+ name: i.name,
39
+ value: i.value,
40
+ "hide-error-message": "",
41
+ "aria-label": d.value
42
+ }, i.radioProps, {
43
+ "model-value": i.checked ? i.value : "",
44
+ "onUpdate:modelValue": c[1] ||= () => u("change", !0)
45
+ }), null, 16, [
46
+ "size",
47
+ "name",
48
+ "value",
49
+ "aria-label",
50
+ "model-value"
51
+ ]));
52
+ }
53
+ });
54
+ //#endregion
55
+ export { c 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,13 @@
1
+ import { ButtonOwnProps } from '../Button/button.types';
2
+ type __VLS_Props = {
3
+ buttonProps?: Partial<Omit<ButtonOwnProps, "icon">>;
4
+ icon: "columns";
5
+ label: string;
6
+ };
7
+ declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
8
+ click: (event: MouseEvent) => any;
9
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
10
+ onClick?: ((event: MouseEvent) => any) | undefined;
11
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
12
+ declare const _default: typeof __VLS_export;
13
+ 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 };